{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:52:03.045285Z",
     "start_time": "2021-04-30T19:52:03.026767Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style>\n",
       "@import url('http://fonts.googleapis.com/css?family=Source+Code+Pro');\n",
       "@import url('http://fonts.googleapis.com/css?family=Lora');\n",
       "\n",
       "//@import url('http://fonts.googleapis.com/css?family=Open+Sans');\n",
       "//@import url('http://fonts.googleapis.com/css?family=Vollkorn');\n",
       "//@import url('http://fonts.googleapis.com/css?family=Karla');\n",
       "//@import url('http://fonts.googleapis.com/css?family=Poppins');\n",
       "//@import url('http://fonts.googleapis.com/css?family=Arimo');\n",
       "//@import url('http://fonts.googleapis.com/css?family=Roboto');\n",
       "//@import url('http://fonts.googleapis.com/css?family=Lato');\n",
       "//@import url('http://fonts.googleapis.com/css?family=Domine');\n",
       "//@import url('http://fonts.googleapis.com/css?family=Chivo');\n",
       "//@import url('http://fonts.googleapis.com/css?family=Cardo');\n",
       "//@import url('http://fonts.googleapis.com/css?family=Arvo');\n",
       "//@import url('http://fonts.googleapis.com/css?family=Crimson+Text');\n",
       "//@import url('http://fonts.googleapis.com/css?family=Ubuntu');\n",
       "//@import url('http://fonts.googleapis.com/css?family=Fontin');\n",
       "//@import url('http://fonts.googleapis.com/css?family=Raleway');\n",
       "//@import url('http://fonts.googleapis.com/css?family=Merriweather');\n",
       "\n",
       "\n",
       ".CodeMirror pre {\n",
       "    font-family: 'Source Code Pro', Consolas, monocco, monospace;\n",
       "}\n",
       "    div.cell{\n",
       "        //width: 950px;\n",
       "        margin-left: 0% !important;\n",
       "        margin-right: auto;\n",
       "    }\n",
       "    div.text_cell_render{\n",
       "        font-family: 'Lora';\n",
       "        //font-family: 'Open Sans';\n",
       "        //font-family: 'Karla',verdana,arial,sans-serif;\n",
       "        //font-family: 'Roboto',verdana,arial,sans-serif;\n",
       "        //font-family: 'Lato',verdana,arial,sans-serif;\n",
       "        //font-family: 'Domine',verdana,arial,sans-serif;\n",
       "        //font-family: 'Chivo',verdana,arial,sans-serif;\n",
       "        //font-family: 'Cardo',verdana,arial,sans-serif;\n",
       "        //font-family: 'Arvo',verdana,arial,sans-serif;\n",
       "        //font-family: 'Poppins',verdana,arial,sans-serif;\n",
       "        //font-family: 'Ubuntu',verdana,arial,sans-serif;\n",
       "        //font-family: 'Fontin',verdana,arial,sans-serif;\n",
       "        //font-family: 'Raleway',verdana,arial,sans-serif;\n",
       "        //font-family: 'Merriweather',verdana,arial,sans-serif;\n",
       "        //font-family: 'Crimson Text', verdana,arial,sans-serif;\n",
       "        //font-family: verdana,arial,sans-serif;\n",
       "        //font-family: arial,sans-serif;\n",
       "        line-height: 125%;\n",
       "        font-size: 130%;\n",
       "        text-align: justify;\n",
       "        text-justify:inter-word;\n",
       "    }\n",
       "    div.text_cell code {\n",
       "        background: transparent;\n",
       "        color: #000000;\n",
       "        font-weight: 400;\n",
       "        font-size: 12pt;\n",
       "        //font-style: bold;\n",
       "        font-family:  'Source Code Pro', Consolas, monocco, monospace;\n",
       "   }\n",
       "    h1 {\n",
       "        font-family: 'Open sans',verdana,arial,sans-serif;\n",
       "\t}\n",
       "\n",
       "    div.input_area {\n",
       "        background: #F6F6F9;\n",
       "        border: 1px solid #586e75;\n",
       "    }\n",
       "\n",
       "    .text_cell_render h1 {\n",
       "        font-weight: 400;\n",
       "        font-size: 30pt;\n",
       "        line-height: 100%;\n",
       "        color:#c76c0c;\n",
       "        margin-bottom: 0.5em;\n",
       "        margin-top: 1em;\n",
       "        display: block;\n",
       "        white-space: wrap;\n",
       "        text-align: left;\n",
       "    }\n",
       "    h2 {\n",
       "        font-family: 'Open sans',verdana,arial,sans-serif;\n",
       "        text-align: left;\n",
       "    }\n",
       "    .text_cell_render h2 {\n",
       "        font-weight: 500;\n",
       "        font-size: 16pt;\n",
       "        font-style: italic;\n",
       "        line-height: 100%;\n",
       "        color:#c76c0c;\n",
       "        margin-bottom: 0.5em;\n",
       "        margin-top: 1.5em;\n",
       "        display: block;\n",
       "        white-space: wrap;\n",
       "        text-align: left;\n",
       "    }\n",
       "    h3 {\n",
       "        font-family: 'Open sans',verdana,arial,sans-serif;\n",
       "    }\n",
       "    .text_cell_render h3 {\n",
       "        font-weight: 500;\n",
       "        font-size: 14pt;\n",
       "        line-height: 100%;\n",
       "        color:#d77c0c;\n",
       "        margin-bottom: 0.5em;\n",
       "        margin-top: 2em;\n",
       "        display: block;\n",
       "        white-space: wrap;\n",
       "        text-align: left;\n",
       "    }\n",
       "    h4 {\n",
       "        font-family: 'Open sans',verdana,arial,sans-serif;\n",
       "    }\n",
       "    .text_cell_render h4 {\n",
       "        font-weight: 100;\n",
       "        font-size: 14pt;\n",
       "        color:#d77c0c;\n",
       "        margin-bottom: 0.5em;\n",
       "        margin-top: 0.5em;\n",
       "        display: block;\n",
       "        white-space: nowrap;\n",
       "    }\n",
       "    h5 {\n",
       "        font-family: 'Open sans',verdana,arial,sans-serif;\n",
       "    }\n",
       "\n",
       "    .text_cell_render h5 {\n",
       "        font-weight: 200;\n",
       "        font-style: normal;\n",
       "        color: #1d3b84;\n",
       "        font-size: 16pt;\n",
       "        margin-bottom: 0em;\n",
       "        margin-top: 0.5em;\n",
       "        display: block;\n",
       "        white-space: nowrap;\n",
       "    }\n",
       "    div.output_subarea.output_text.output_pyout {\n",
       "        overflow-x: auto;\n",
       "        overflow-y: scroll;\n",
       "        max-height: 50000px;\n",
       "    }\n",
       "    div.output_subarea.output_stream.output_stdout.output_text {\n",
       "        overflow-x: auto;\n",
       "        overflow-y: scroll;\n",
       "        max-height: 50000px;\n",
       "    }\n",
       "    div.output_wrapper{\n",
       "        margin-top:0.2em;\n",
       "        margin-bottom:0.2em;\n",
       "}\n",
       "\n",
       "    .rendered_html table {\n",
       "        font-size: 100%;\n",
       "    }\n",
       "\n",
       "    code{\n",
       "        font-size: 6pt;\n",
       "\n",
       "    }\n",
       "    .rendered_html code{\n",
       "    background-color: transparent;\n",
       "    }\n",
       "    ul{\n",
       "        margin: 2em;\n",
       "    }\n",
       "    ul li{\n",
       "        padding-left: 0.5em;\n",
       "        margin-bottom: 0.5em;\n",
       "        margin-top: 0.5em;\n",
       "    }\n",
       "    ul li li{\n",
       "        padding-left: 0.2em;\n",
       "        margin-bottom: 0.2em;\n",
       "        margin-top: 0.2em;\n",
       "    }\n",
       "    ol{\n",
       "        margin: 2em;\n",
       "    }\n",
       "    ol li{\n",
       "        padding-left: 0.5em;\n",
       "        margin-bottom: 0.5em;\n",
       "        margin-top: 0.5em;\n",
       "    }\n",
       "    ul li{\n",
       "        padding-left: 0.5em;\n",
       "        margin-bottom: 0.5em;\n",
       "        margin-top: 0.2em;\n",
       "    }\n",
       "    a:link{\n",
       "       color:#447adb;\n",
       "    }\n",
       "    a:visited{\n",
       "       color: #1d3b84;\n",
       "    }\n",
       "    a:hover{\n",
       "       color: #1d3b84;\n",
       "    }\n",
       "    a:focus{\n",
       "       color:#447adb;\n",
       "    }\n",
       "    a:active{\n",
       "       font-weight: bold;\n",
       "       color:#447adb;\n",
       "    }\n",
       "    .rendered_html :link {\n",
       "       text-decoration: underline;\n",
       "    }\n",
       "    .rendered_html :hover {\n",
       "       text-decoration: none;\n",
       "    }\n",
       "    .rendered_html :visited {\n",
       "      text-decoration: none;\n",
       "    }\n",
       "    .rendered_html :focus {\n",
       "      text-decoration: none;\n",
       "    }\n",
       "    .rendered_html :active {\n",
       "      text-decoration: none;\n",
       "    }\n",
       "    .warning{\n",
       "        color: rgb( 240, 20, 20 )\n",
       "    }\n",
       "    hr {\n",
       "      color: #f3f3f3;\n",
       "      background-color: #f3f3f3;\n",
       "      height: 1px;\n",
       "    }\n",
       "    blockquote{\n",
       "      display:block;\n",
       "      background: #fcfcfc;\n",
       "      border-left: 5px solid #c76c0c;\n",
       "      font-family: 'Open sans',verdana,arial,sans-serif;\n",
       "      width:680px;\n",
       "      padding: 10px 10px 10px 10px;\n",
       "      text-align:justify;\n",
       "      text-justify:inter-word;\n",
       "      }\n",
       "      blockquote p {\n",
       "        margin-bottom: 0;\n",
       "        line-height: 125%;\n",
       "        font-size: 100%;\n",
       "      }\n",
       "</style>\n",
       "<script>\n",
       "    MathJax.Hub.Config({\n",
       "                        TeX: {\n",
       "                           extensions: [\"AMSmath.js\"],\n",
       "                           equationNumbers: { autoNumber: \"AMS\", useLabelIds: true}\n",
       "                           },\n",
       "                tex2jax: {\n",
       "                    inlineMath: [ ['$','$'], [\"\\\\(\",\"\\\\)\"] ],\n",
       "                    displayMath: [ ['$$','$$'], [\"\\\\[\",\"\\\\]\"] ]\n",
       "                },\n",
       "                displayAlign: 'center', // Change this to 'center' to center equations.\n",
       "                \"HTML-CSS\": {\n",
       "                    scale:95,\n",
       "                        availableFonts: [],\n",
       "                        preferredFont:null,\n",
       "                        webFont: \"TeX\",\n",
       "                    styles: {'.MathJax_Display': {\"margin\": 4}}\n",
       "                }\n",
       "        });\n",
       "</script>\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from IPython.core.display import HTML\n",
    "HTML(open(\"custom.css\", \"r\").read())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "toc": true
   },
   "source": [
    "<h1>Table of Contents<span class=\"tocSkip\"></span></h1>\n",
    "<div class=\"toc\"><ul class=\"toc-item\"><li><span><a href=\"#From-Transistors-to-ALUs-With-Skywater\" data-toc-modified-id=\"From-Transistors-to-ALUs-With-Skywater-1\">From Transistors to ALUs With Skywater</a></span><ul class=\"toc-item\"><li><span><a href=\"#Installing-Some-Tools\" data-toc-modified-id=\"Installing-Some-Tools-1.1\">Installing Some Tools</a></span></li><li><span><a href=\"#Getting-the-Skywater-PDK\" data-toc-modified-id=\"Getting-the-Skywater-PDK-1.2\">Getting the Skywater PDK</a></span></li><li><span><a href=\"#Some-Infrastructure\" data-toc-modified-id=\"Some-Infrastructure-1.3\">Some Infrastructure</a></span></li><li><span><a href=\"#The-Simplest:-the-Inverter\" data-toc-modified-id=\"The-Simplest:-the-Inverter-1.4\">The Simplest: the Inverter</a></span></li><li><span><a href=\"#The-Universal:-the-NAND-Gate\" data-toc-modified-id=\"The-Universal:-the-NAND-Gate-1.5\">The Universal: the NAND Gate</a></span></li><li><span><a href=\"#One-or-the-Other:-the-XOR-Gate\" data-toc-modified-id=\"One-or-the-Other:-the-XOR-Gate-1.6\">One or the Other: the XOR Gate</a></span></li><li><span><a href=\"#No,-It's-Not-a-Snake:-The-Adder\" data-toc-modified-id=\"No,-It's-Not-a-Snake:-The-Adder-1.7\">No, It's Not a Snake: The Adder</a></span></li><li><span><a href=\"#Fragments-of-Memory:-Latches,-Flip-Flops-and-Registers\" data-toc-modified-id=\"Fragments-of-Memory:-Latches,-Flip-Flops-and-Registers-1.8\">Fragments of Memory: Latches, Flip-Flops and Registers</a></span></li><li><span><a href=\"#The-Simplest-State-Machine:-the-Counter\" data-toc-modified-id=\"The-Simplest-State-Machine:-the-Counter-1.9\">The Simplest State Machine: the Counter</a></span></li><li><span><a href=\"#Bonus:-an-ALU\" data-toc-modified-id=\"Bonus:-an-ALU-1.10\">Bonus: an ALU</a></span></li><li><span><a href=\"#Extra-Bonus:-a-Down-Counter\" data-toc-modified-id=\"Extra-Bonus:-a-Down-Counter-1.11\">Extra Bonus: a Down Counter</a></span></li><li><span><a href=\"#End-of-the-Line\" data-toc-modified-id=\"End-of-the-Line-1.12\">End of the Line</a></span></li></ul></li></ul></div>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# From Transistors to ALUs With Skywater\n",
    "\n",
    "[Google and SkyWater Technology](https://woset-workshop.github.io/PDFs/2020/a03.pdf) are cooperating to provide open-source hardware designers with a way to build custom ASICs. Part of this effort is the release of the [SkyWater PDK](https://github.com/google/skywater-pdk) which describes the parameters for a 130nm CMOS process. I thought it might be fun to simulate a few logic gates in SPICE using this PDK."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Installing Some Tools\n",
    "\n",
    "[This repo](https://github.com/bluecmd/learn-sky130/blob/main/schematic/xschem/getting-started.md) provided some guidance when I first started investigating the PDK, but it uses external tools like [XSCHEM](http://repo.hu/projects/xschem/) (for schematic capture) and [GAW](https://gaw.tuxfamily.org/linux/gaw.php) (for displaying waveforms). To make my work easier to replicate and distribute, I wanted everything to be done in a Jupyter notebook. It wasn't immediately apparent how I would integrate XSCHEM/GAW into a notebook and [schematics shouldn't be used in polite company](https://www.youtube.com/watch?v=WErQYI2A36M&list=PLy2022BX6EsqLkQy1EmXjVnauOH3FSHTV&index=3&t=257s) any way, so I took a more Python-centric approach and used these tools:\n",
    "\n",
    "* [ngspice](http://ngspice.sourceforge.net/): An open-source SPICE simulator.\n",
    "* [SciPy bundle](https://www.scipy.org/index.html): General-purpose Python libraries for handling data.\n",
    "* [SKiDL](https://github.com/xesscorp/skidl): Used to describe circuitry using Python code.\n",
    "* [InSpice](https://github.com/Innovoltive/InSpice): A Python interface between SKiDL and ngspice.\n",
    "\n",
    "Pre-built versions of ngspice are available for Windows and MacOS as described [here](https://ngspice.sourceforge.io/download.html). For linux, I got the latest ngspice files and built the shared library:\n",
    "```bash\n",
    "wget https://sourceforge.net/projects/ngspice/files/ngspice-44.2.tar.gz\n",
    "tar -xzf ngspice-44.2.tar.gz\n",
    "cd ngspice-44.2\n",
    "make clean\n",
    "./configure --with-x --enable-xspice --enable-cider --enable-shared --with-ngshared\n",
    "make\n",
    "sudo make install\n",
    "sudo ldconfig\n",
    "```\n",
    "\n",
    "Installing the SciPy, SKiDL, and InSpice (included with SKiDL) tools was also easy since I already had Python:\n",
    "```bash\n",
    "$ pip install matplotlib numpy pandas jupyter skidl \n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Once all these tools were installed, I imported them into this notebook:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:52:03.977351Z",
     "start_time": "2021-04-30T19:52:03.047948Z"
    }
   },
   "outputs": [],
   "source": [
    "import pandas as pd              # For data frames.\n",
    "import matplotlib.pyplot as plt  # For plotting.\n",
    "from skidl.pyspice import *      # For describing circuits and interfacing to ngspice."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Getting the Skywater PDK\n",
    "\n",
    "With the tooling in place, it was time to get the Skywater PDK. If I wanted to wait a *long time*, I could install the entire PDK like this:\n",
    "```bash\n",
    "$ git clone --recurse-submodules https://github.com/google/skywater-pdk\n",
    "```\n",
    "\n",
    "But I don't need *everything*, just the latest SPICE models for the device primitives, so the following command is much quicker: \n",
    "\n",
    "```bash\n",
    "$ git clone --recurse-submodules=libraries/sky130_fd_pr/latest https://github.com/google/skywater-pdk\n",
    "```\n",
    "\n",
    ">**Note:** There is an error in the PDK that prevents it from working with the latest version of ngspice. The error is on line 16 in the file `skywater-pdk/libraries/sky130_fd_pr/latest/cells/nfet_05v0_nvt/sky130_fd_pr__nfet_05v0_nvt.pm3.spice`. Commenting out the line as shown below allows the simulation to run:\n",
    ">```\n",
    ">*include \"sky130_fd_pr__esd_nfet_05v0_nvt.pm3\"\n",
    ">```"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Even with a stripped-down repo, there's a lot of stuff in there. The [Skywater documentation](https://skywater-pdk.readthedocs.io/en/latest/index.html) provides some guidance, but there are a lot of sections that just contain **TODO**. Poking about in the PDK led me to these directories of device information files as decribed [here](https://skywater-pdk.readthedocs.io/en/latest/rules/device-details.html):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:52:04.144561Z",
     "start_time": "2021-04-30T19:52:03.981176Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "cap_mim_m3/\t\t\t\t      esd_rf_diode_pd2nw_11v0/\n",
      "cap_var_hvt/\t\t\t\t      esd_rf_diode_pw2nd_11v0/\n",
      "cap_var_lvt/\t\t\t\t      esd_rf_nfet_20v0_hbm/\n",
      "cap_vpp_01p8x01p8_m1m2_noshield/\t      esd_rf_nfet_20v0_iec/\n",
      "cap_vpp_02p4x04p6_m1m2_noshield/\t      ind_03/\n",
      "cap_vpp_02p7x06p1_m1m2m3m4_shieldl1/\t      ind_05/\n",
      "cap_vpp_02p7x11p1_m1m2m3m4_shieldl1/\t      nfet_01v8/\n",
      "cap_vpp_02p7x21p1_m1m2m3m4_shieldl1/\t      nfet_01v8_lvt/\n",
      "cap_vpp_02p7x41p1_m1m2m3m4_shieldl1/\t      nfet_03v3_nvt/\n",
      "cap_vpp_02p9x06p1_m1m2m3m4_shieldl1/\t      nfet_05v0_nvt/\n",
      "cap_vpp_03p9x03p9_m1m2_shieldl1_floatm3/      nfet_20v0/\n",
      "cap_vpp_04p4x04p6_l1m1m2_noshield/\t      nfet_20v0_iso/\n",
      "cap_vpp_04p4x04p6_l1m1m2_shieldpo_floatm3/    nfet_20v0_nvt/\n",
      "cap_vpp_04p4x04p6_m1m2m3_shieldl1/\t      nfet_20v0_nvt_iso/\n",
      "cap_vpp_04p4x04p6_m1m2m3_shieldl1m5_floatm4/  nfet_20v0_reverse_iso/\n",
      "cap_vpp_04p4x04p6_m1m2_noshield/\t      nfet_20v0_zvt/\n",
      "cap_vpp_04p4x04p6_m1m2_shieldl1/\t      nfet_g5v0d10v5/\n",
      "cap_vpp_05p9x05p9_m1m2m3m4_shieldl1/\t      nfet_g5v0d16v0/\n",
      "cap_vpp_06p8x06p1_l1m1m2m3_shieldpom4/\t      npn_05v5/\n",
      "cap_vpp_06p8x06p1_m1m2m3_shieldl1m4/\t      npn_11v0/\n",
      "cap_vpp_08p6x07p8_l1m1m2_noshield/\t      nwdiode_top/\n",
      "cap_vpp_08p6x07p8_l1m1m2_shieldpo_floatm3/    pfet_01v8/\n",
      "cap_vpp_08p6x07p8_m1m2m3_shieldl1/\t      pfet_01v8_hvt/\n",
      "cap_vpp_08p6x07p8_m1m2m3_shieldl1m5_floatm4/  pfet_01v8_lvt/\n",
      "cap_vpp_08p6x07p8_m1m2_noshield/\t      pfet_01v8_mvt/\n",
      "cap_vpp_08p6x07p8_m1m2_shieldl1/\t      pfet_20v0/\n",
      "cap_vpp_11p3x11p3_m1m2m3m4_shieldl1/\t      pfet_g5v0d10v5/\n",
      "cap_vpp_11p3x11p8_l1m1m2m3m4_shieldm5/\t      pfet_g5v0d16v0/\n",
      "cap_vpp_11p5x11p7_l1m1m2m3m4_shieldm5/\t      pnp_05v5/\n",
      "cap_vpp_11p5x11p7_l1m1m2m3m4_shieldpom5/      res_generic_nd/\n",
      "cap_vpp_11p5x11p7_l1m1m2m3_shieldm4/\t      res_generic_pd/\n",
      "cap_vpp_11p5x11p7_l1m1m2m3_shieldpom4/\t      res_high_po/\n",
      "cap_vpp_11p5x11p7_l1m1m2_noshield/\t      res_iso_pw/\n",
      "cap_vpp_11p5x11p7_l1m1m2_shieldpom3/\t      res_xhigh_po/\n",
      "cap_vpp_11p5x11p7_m1m2m3m4_shieldl1m5/\t      rf_aura_blocking/\n",
      "cap_vpp_11p5x11p7_m1m2m3m4_shieldm5/\t      rf_aura_drc_flag_check/\n",
      "cap_vpp_11p5x11p7_m1m2m3_shieldl1/\t      rf_aura_lvs_drc/\n",
      "cap_vpp_11p5x11p7_m1m2m3_shieldl1m5_floatm4/  rf_nfet_01v8/\n",
      "cap_vpp_11p5x11p7_m1m2_noshield/\t      rf_nfet_01v8_lvt/\n",
      "cap_vpp_11p5x11p7_m1m2_shieldl1/\t      rf_nfet_20v0_aup/\n",
      "cap_vpp_11p5x11p7_m1m4_noshield/\t      rf_nfet_20v0_noptap_iso/\n",
      "cap_vpp_11p5x11p7_pol1m1m2m3m4m5_noshield/    rf_nfet_20v0_nvt_aup/\n",
      "cap_vpp_11p5x23p1_pol1m1m2m3m4m5_noshield/    rf_nfet_20v0_nvt_noptap_iso/\n",
      "cap_vpp_22p5x11p7_pol1m1m2m3m4m5_noshield/    rf_nfet_20v0_nvt_withptap/\n",
      "cap_vpp_22p5x23p1_pol1m1m2m3m4m5_noshield/    rf_nfet_20v0_nvt_withptap_iso/\n",
      "cap_vpp_33p6x11p7_pol1m1m2m3m4m5_noshield/    rf_nfet_20v0_withptap/\n",
      "cap_vpp_33p6x23p1_pol1m1m2m3m4m5_noshield/    rf_nfet_20v0_withptap_iso/\n",
      "cap_vpp_44p7x11p7_pol1m1m2m3m4m5_noshield/    rf_nfet_20v0_zvt_withptap/\n",
      "cap_vpp_44p7x23p1_pol1m1m2m3m4m5_noshield/    rf_nfet_g5v0d10v5/\n",
      "cap_vpp_55p8x11p7_pol1m1m2m3m4m5_noshield/    rf_npn_05v5/\n",
      "cap_vpp_55p8x23p1_pol1m1m2m3m4m5_noshield/    rf_pfet_01v8/\n",
      "diode_pd2nw_05v5/\t\t\t      rf_pfet_01v8_lvt/\n",
      "diode_pd2nw_05v5_hvt/\t\t\t      rf_pfet_01v8_mvt/\n",
      "diode_pd2nw_05v5_lvt/\t\t\t      rf_pfet_20v0_withptap/\n",
      "diode_pd2nw_11v0/\t\t\t      rf_test_coil1/\n",
      "diode_pw2nd_05v5/\t\t\t      rf_test_coil2/\n",
      "diode_pw2nd_05v5_lvt/\t\t\t      rf_test_coil3/\n",
      "diode_pw2nd_05v5_nvt/\t\t\t      special_nfet_latch/\n",
      "diode_pw2nd_11v0/\t\t\t      special_nfet_pass/\n",
      "esd_nfet_01v8/\t\t\t\t      special_nfet_pass_flash/\n",
      "esd_nfet_05v0_nvt/\t\t\t      special_nfet_pass_lvt/\n",
      "esd_nfet_g5v0d10v5/\t\t\t      special_pfet_pass/\n",
      "esd_pfet_g5v0d10v5/\n"
     ]
    }
   ],
   "source": [
    "!ls -F ~/tmp/skywater-pdk/libraries/sky130_fd_pr/latest/cells/"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For my purposes, I only needed a simple NFET and PFET to build some logic gates. I figured 1.8V versions of these would be found in the `nfet_01v8` and `pfet_01v8` subdirectories, but I wasn't expecting all these files:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:52:04.287701Z",
     "start_time": "2021-04-30T19:52:04.147809Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "sky130_fd_pr__nfet_01v8_aM02W1p65L0p15.cdl\n",
      "sky130_fd_pr__nfet_01v8_aM02W1p65L0p15.netlist.tsv\n",
      "sky130_fd_pr__nfet_01v8_aM02W1p65L0p18.cdl\n",
      "sky130_fd_pr__nfet_01v8_aM02W1p65L0p18.netlist.tsv\n",
      "sky130_fd_pr__nfet_01v8_aM02W1p65L0p25.cdl\n",
      "sky130_fd_pr__nfet_01v8_aM02W1p65L0p25.netlist.tsv\n",
      "sky130_fd_pr__nfet_01v8_aM02W3p00L0p15.cdl\n",
      "sky130_fd_pr__nfet_01v8_aM02W3p00L0p15.netlist.tsv\n",
      "sky130_fd_pr__nfet_01v8_aM02W3p00L0p18.cdl\n",
      "sky130_fd_pr__nfet_01v8_aM02W3p00L0p18.netlist.tsv\n",
      "sky130_fd_pr__nfet_01v8_aM02W3p00L0p25.cdl\n",
      "sky130_fd_pr__nfet_01v8_aM02W3p00L0p25.netlist.tsv\n",
      "sky130_fd_pr__nfet_01v8_aM02W5p00L0p15.cdl\n",
      "sky130_fd_pr__nfet_01v8_aM02W5p00L0p15.netlist.tsv\n",
      "sky130_fd_pr__nfet_01v8_aM02W5p00L0p18.cdl\n",
      "sky130_fd_pr__nfet_01v8_aM02W5p00L0p18.netlist.tsv\n",
      "sky130_fd_pr__nfet_01v8_aM02W5p00L0p25.cdl\n",
      "sky130_fd_pr__nfet_01v8_aM02W5p00L0p25.netlist.tsv\n",
      "sky130_fd_pr__nfet_01v8_aM04W1p65L0p15.cdl\n",
      "sky130_fd_pr__nfet_01v8_aM04W1p65L0p15.netlist.tsv\n",
      "sky130_fd_pr__nfet_01v8_aM04W1p65L0p18.cdl\n",
      "sky130_fd_pr__nfet_01v8_aM04W1p65L0p18.netlist.tsv\n",
      "sky130_fd_pr__nfet_01v8_aM04W1p65L0p25.cdl\n",
      "sky130_fd_pr__nfet_01v8_aM04W1p65L0p25.netlist.tsv\n",
      "sky130_fd_pr__nfet_01v8_aM04W3p00L0p15.cdl\n",
      "sky130_fd_pr__nfet_01v8_aM04W3p00L0p15.netlist.tsv\n",
      "sky130_fd_pr__nfet_01v8_aM04W3p00L0p18.cdl\n",
      "sky130_fd_pr__nfet_01v8_aM04W3p00L0p18.netlist.tsv\n",
      "sky130_fd_pr__nfet_01v8_aM04W3p00L0p25.cdl\n",
      "sky130_fd_pr__nfet_01v8_aM04W3p00L0p25.netlist.tsv\n",
      "sky130_fd_pr__nfet_01v8_aM04W5p00L0p15.cdl\n",
      "sky130_fd_pr__nfet_01v8_aM04W5p00L0p15.netlist.tsv\n",
      "sky130_fd_pr__nfet_01v8_aM04W5p00L0p18.cdl\n",
      "sky130_fd_pr__nfet_01v8_aM04W5p00L0p18.netlist.tsv\n",
      "sky130_fd_pr__nfet_01v8_aM04W5p00L0p25.cdl\n",
      "sky130_fd_pr__nfet_01v8_aM04W5p00L0p25.netlist.tsv\n",
      "sky130_fd_pr__nfet_01v8.bins.csv\n",
      "sky130_fd_pr__nfet_01v8__ff.corner.spice\n",
      "sky130_fd_pr__nfet_01v8__ff.pm3.spice\n",
      "sky130_fd_pr__nfet_01v8__fs.corner.spice\n",
      "sky130_fd_pr__nfet_01v8__fs.pm3.spice\n",
      "sky130_fd_pr__nfet_01v8_hcM04W3p00L0p15.cdl\n",
      "sky130_fd_pr__nfet_01v8_hcM04W3p00L0p15.netlist.tsv\n",
      "sky130_fd_pr__nfet_01v8_hcM04W5p00L0p15.cdl\n",
      "sky130_fd_pr__nfet_01v8_hcM04W5p00L0p15.netlist.tsv\n",
      "sky130_fd_pr__nfet_01v8__leak.corner.spice\n",
      "sky130_fd_pr__nfet_01v8__leak.pm3.spice\n",
      "sky130_fd_pr__nfet_01v8_mcM04W3p00L0p15.cdl\n",
      "sky130_fd_pr__nfet_01v8_mcM04W3p00L0p15.netlist.tsv\n",
      "sky130_fd_pr__nfet_01v8_mcM04W5p00L0p15.cdl\n",
      "sky130_fd_pr__nfet_01v8_mcM04W5p00L0p15.netlist.tsv\n",
      "sky130_fd_pr__nfet_01v8__mismatch.corner.spice\n",
      "sky130_fd_pr__nfet_01v8__mismatch.corner.yaml\n",
      "sky130_fd_pr__nfet_01v8.pm3.spice\n",
      "sky130_fd_pr__nfet_01v8__sf.corner.spice\n",
      "sky130_fd_pr__nfet_01v8__sf.pm3.spice\n",
      "sky130_fd_pr__nfet_01v8__ss.corner.spice\n",
      "sky130_fd_pr__nfet_01v8__ss.pm3.spice\n",
      "sky130_fd_pr__nfet_01v8__subvt_mismatch.corner.spice\n",
      "sky130_fd_pr__nfet_01v8__tt.corner.spice\n",
      "sky130_fd_pr__nfet_01v8__tt.corner.yaml\n",
      "sky130_fd_pr__nfet_01v8__tt_correln.corner.spice\n",
      "sky130_fd_pr__nfet_01v8__tt_correlp.corner.spice\n",
      "sky130_fd_pr__nfet_01v8__tt_leak.corner.spice\n",
      "sky130_fd_pr__nfet_01v8__tt_leak.pm3.spice\n",
      "sky130_fd_pr__nfet_01v8__tt.pm3.spice\n",
      "sky130_fd_pr__nfet_01v8__tt.pm3.yaml\n",
      "sky130_fd_pr__nfet_01v8__wafer.corner.spice\n",
      "tests/\n"
     ]
    }
   ],
   "source": [
    "!ls -F ~/tmp/skywater-pdk/libraries/sky130_fd_pr/latest/cells/nfet_01v8"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "After some further poking about and reading, I categorized the files as follows:\n",
    "\n",
    "* Any file ending in `.cdl` seems to be associated with Cadence. Since I'll never have the money to run their software, I can ignore these and the associated `.tsv` files.\n",
    "* Files with names containing `_tt_`, `_ff_`, `_fs_`, `_sf_`, or `_ss_` refer to *[process corners](http://anysilicon.com/understanding-process-corner-corner-lots/)* where variations in the semiconductor fabrication process lead to NMOS/PMOS transistors that have typical, fast or slow switching characteristics.\n",
    "* Files ending with `.pm3.spice` contain most of the device parameters for a particular corner. These files are included inside an associated `corner.spice` file that makes a small adjustment to the parameters. Both these files are used for simulating transistors at a given process corner.\n",
    "* Files ending with `leak.pm3.spice` and `leak.corner.spice` are similar to the previous files, but are probably used for simulating transistor leakage currents.\n",
    "* Many of the `.spice` files contain multiple transistor models with differing parameters that are dependent on the length and width of the transistor gate. The file ending with `.bins.csv` contains a list of the supported transistor sizes. Some of the 1.8V NMOS and PMOS transistor dimensions are shown below:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:52:04.350043Z",
     "start_time": "2021-04-30T19:52:04.290751Z"
    },
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>device</th>\n",
       "      <th>bin</th>\n",
       "      <th>W</th>\n",
       "      <th>L</th>\n",
       "      <th>device</th>\n",
       "      <th>bin</th>\n",
       "      <th>W</th>\n",
       "      <th>L</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>sky130_fd_pr__nfet_01v8</td>\n",
       "      <td>0</td>\n",
       "      <td>1.26</td>\n",
       "      <td>0.15</td>\n",
       "      <td>sky130_fd_pr__pfet_01v8</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.26</td>\n",
       "      <td>0.15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>sky130_fd_pr__nfet_01v8</td>\n",
       "      <td>1</td>\n",
       "      <td>1.68</td>\n",
       "      <td>0.15</td>\n",
       "      <td>sky130_fd_pr__pfet_01v8</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.68</td>\n",
       "      <td>0.15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>sky130_fd_pr__nfet_01v8</td>\n",
       "      <td>2</td>\n",
       "      <td>1.00</td>\n",
       "      <td>1.00</td>\n",
       "      <td>sky130_fd_pr__pfet_01v8</td>\n",
       "      <td>2.0</td>\n",
       "      <td>1.00</td>\n",
       "      <td>1.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>sky130_fd_pr__nfet_01v8</td>\n",
       "      <td>3</td>\n",
       "      <td>1.00</td>\n",
       "      <td>2.00</td>\n",
       "      <td>sky130_fd_pr__pfet_01v8</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1.00</td>\n",
       "      <td>2.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>sky130_fd_pr__nfet_01v8</td>\n",
       "      <td>4</td>\n",
       "      <td>1.00</td>\n",
       "      <td>4.00</td>\n",
       "      <td>sky130_fd_pr__pfet_01v8</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1.00</td>\n",
       "      <td>4.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>58</th>\n",
       "      <td>sky130_fd_pr__nfet_01v8</td>\n",
       "      <td>58</td>\n",
       "      <td>0.61</td>\n",
       "      <td>0.15</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>59</th>\n",
       "      <td>sky130_fd_pr__nfet_01v8</td>\n",
       "      <td>59</td>\n",
       "      <td>0.65</td>\n",
       "      <td>0.15</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>60</th>\n",
       "      <td>sky130_fd_pr__nfet_01v8</td>\n",
       "      <td>60</td>\n",
       "      <td>0.65</td>\n",
       "      <td>0.18</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>61</th>\n",
       "      <td>sky130_fd_pr__nfet_01v8</td>\n",
       "      <td>61</td>\n",
       "      <td>0.65</td>\n",
       "      <td>0.25</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>62</th>\n",
       "      <td>sky130_fd_pr__nfet_01v8</td>\n",
       "      <td>62</td>\n",
       "      <td>0.65</td>\n",
       "      <td>0.50</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>63 rows × 8 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                     device  bin     W     L                   device  bin  \\\n",
       "0   sky130_fd_pr__nfet_01v8    0  1.26  0.15  sky130_fd_pr__pfet_01v8  0.0   \n",
       "1   sky130_fd_pr__nfet_01v8    1  1.68  0.15  sky130_fd_pr__pfet_01v8  1.0   \n",
       "2   sky130_fd_pr__nfet_01v8    2  1.00  1.00  sky130_fd_pr__pfet_01v8  2.0   \n",
       "3   sky130_fd_pr__nfet_01v8    3  1.00  2.00  sky130_fd_pr__pfet_01v8  3.0   \n",
       "4   sky130_fd_pr__nfet_01v8    4  1.00  4.00  sky130_fd_pr__pfet_01v8  4.0   \n",
       "..                      ...  ...   ...   ...                      ...  ...   \n",
       "58  sky130_fd_pr__nfet_01v8   58  0.61  0.15                      NaN  NaN   \n",
       "59  sky130_fd_pr__nfet_01v8   59  0.65  0.15                      NaN  NaN   \n",
       "60  sky130_fd_pr__nfet_01v8   60  0.65  0.18                      NaN  NaN   \n",
       "61  sky130_fd_pr__nfet_01v8   61  0.65  0.25                      NaN  NaN   \n",
       "62  sky130_fd_pr__nfet_01v8   62  0.65  0.50                      NaN  NaN   \n",
       "\n",
       "       W     L  \n",
       "0   1.26  0.15  \n",
       "1   1.68  0.15  \n",
       "2   1.00  1.00  \n",
       "3   1.00  2.00  \n",
       "4   1.00  4.00  \n",
       "..   ...   ...  \n",
       "58   NaN   NaN  \n",
       "59   NaN   NaN  \n",
       "60   NaN   NaN  \n",
       "61   NaN   NaN  \n",
       "62   NaN   NaN  \n",
       "\n",
       "[63 rows x 8 columns]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "nfet_sizes = pd.read_table(\"~/tmp/skywater-pdk/libraries/sky130_fd_pr/latest/cells/nfet_01v8/sky130_fd_pr__nfet_01v8.bins.csv\", delimiter=\",\")\n",
    "pfet_sizes = pd.read_table(\"~/tmp/skywater-pdk/libraries/sky130_fd_pr/latest/cells/pfet_01v8/sky130_fd_pr__pfet_01v8.bins.csv\", delimiter=\",\")\n",
    "pd.concat((nfet_sizes, pfet_sizes), axis=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Knowing where the device files are and what they contain is great, but how do I actually *use* them? It turns out there is a master library file: `skywater-pdk/libraries/sky130_fd_pr/latest/models/sky130.lib.spice`. Internally, this file is divided into nine *sections* that cover the five process corners (`tt`, `ff`, `fs`, `sf`, `ss`) as well as four additional corners for the low/high variations in resistor and capacitor values (`hh`, `hl`, `lh`, `ll`). I'm only interested in using some typical FETs, so I can load that section into a SKiDL library like so:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:52:06.228285Z",
     "start_time": "2021-04-30T19:52:04.352429Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "sky130_fd_pr__nfet_01v8: \n",
      "sky130_fd_pr__nfet_01v8_lvt: \n",
      "sky130_fd_pr__pfet_01v8: \n",
      "sky130_fd_pr__nfet_03v3_nvt: \n",
      "sky130_fd_pr__nfet_05v0_nvt: \n",
      "sky130_fd_pr__esd_nfet_01v8: \n",
      "sky130_fd_pr__pfet_01v8_lvt: \n",
      "sky130_fd_pr__pfet_01v8_hvt: \n",
      "sky130_fd_pr__esd_pfet_g5v0d10v5: \n",
      "sky130_fd_pr__pfet_g5v0d10v5: \n",
      "sky130_fd_pr__nfet_g5v0d10v5: \n",
      "sky130_fd_pr__nfet_g5v0d16v0: \n",
      "sky130_fd_pr__nfet_g5v0d16v0__base: \n",
      "sky130_fd_pr__esd_nfet_g5v0d10v5: \n",
      "sky130_fd_pr__res_generic_po: \n",
      "sky130_fd_pr__res_generic_nd: \n",
      "sky130_fd_pr__res_generic_pd: \n",
      "sky130_fd_pr__special_nfet_pass_lvt: \n",
      "sky130_fd_pr__pnp_05v5_W0p68L0p68: \n",
      "sky130_fd_pr__pfet_g5v0d16v0__base: \n",
      "sky130_fd_pr__pfet_g5v0d16v0: \n",
      "sky130_fd_pr__cap_var_lvt: \n",
      "sky130_fd_pr__res_iso_pw: \n",
      "sky130_fd_pr__cap_vpp_08p6x07p8_l1m1m2_noshield_o1: \n",
      "sky130_fd_pr__cap_mim_m3_1: \n",
      "sky130_fd_pr__cap_mim_m3_2: \n",
      "sky130_fd_pr__cap_vpp_04p4x04p6_m1m2_noshield_o1nhv: \n",
      "sky130_fd_pr__cap_vpp_04p4x04p6_m1m2_noshield_o1phv: \n",
      "sky130_fd_pr__special_nfet_pass: \n",
      "sky130_fd_pr__special_nfet_latch: \n",
      "sky130_fd_pr__special_pfet_pass: \n",
      "sky130_fd_pr__special_nfet_pass_flash: \n",
      "sky130_fd_pr__cap_vpp_08p6x07p8_m1m2m3_shieldl1: \n",
      "sky130_fd_pr__cap_vpp_04p4x04p6_m1m2m3_shieldl1: \n",
      "sky130_fd_pr__cap_vpp_11p5x11p7_m1m2m3_shieldl1: \n",
      "sky130_fd_pr__cap_vpp_11p5x11p7_l1m1m2m3_shieldm4: \n",
      "sky130_fd_pr__cap_vpp_11p5x11p7_l1m1m2m3_shieldpom4: \n",
      "sky130_fd_pr__cap_vpp_06p8x06p1_l1m1m2m3_shieldpom4: \n",
      "sky130_fd_pr__cap_vpp_06p8x06p1_m1m2m3_shieldl1m4: \n",
      "sky130_fd_pr__cap_vpp_11p5x11p7_l1m1m2m3m4_shieldm5: \n",
      "sky130_fd_pr__cap_vpp_11p5x11p7_l1m1m2m3m4_shieldpom5: \n",
      "sky130_fd_pr__cap_vpp_11p5x11p7_m1m2m3m4_shieldl1m5: \n",
      "sky130_fd_pr__cap_vpp_11p5x11p7_m1m4_noshield: \n",
      "sky130_fd_pr__cap_vpp_11p5x11p7_m1m2m3m4_shieldm5: \n",
      "sky130_fd_pr__cap_vpp_08p6x07p8_m1m2m3_shieldl1m5_floatm4: \n",
      "sky130_fd_pr__cap_vpp_04p4x04p6_m1m2m3_shieldl1m5_floatm4: \n",
      "sky130_fd_pr__cap_vpp_11p5x11p7_m1m2m3_shieldl1m5_floatm4: \n",
      "sky130_fd_pr__cap_vpp_11p3x11p8_l1m1m2m3m4_shieldm5_nhv: \n",
      "sky130_fd_pr__cap_vpp_11p3x11p8_l1m1m2m3m4_shieldm5_nhv__base: \n",
      "sky130_fd_pr__cap_vpp_11p5x11p7_l1m1m2m3m4_shieldpom5_x: \n",
      "sky130_fd_pr__cap_vpp_02p9x06p1_m1m2m3m4_shieldl1_fingercap2: \n",
      "sky130_fd_pr__cap_vpp_02p7x11p1_m1m2m3m4_shieldl1_fingercap: \n",
      "sky130_fd_pr__cap_vpp_02p7x21p1_m1m2m3m4_shieldl1_fingercap: \n",
      "sky130_fd_pr__cap_vpp_02p7x41p1_m1m2m3m4_shieldl1_fingercap: \n",
      "sky130_fd_pr__cap_vpp_02p7x06p1_m1m2m3m4_shieldl1_fingercap: \n",
      "sky130_fd_pr__cap_vpp_11p3x11p3_m1m2m3m4_shieldl1_wafflecap: \n",
      "sky130_fd_pr__cap_vpp_05p9x05p9_m1m2m3m4_shieldl1_wafflecap: \n",
      "sky130_fd_pr__cap_vpp_44p7x23p1_pol1m1m2m3m4m5_noshield: \n",
      "sky130_fd_pr__model__parasitic__res_po: \n",
      "sky130_fd_pr__res_xhigh_po: \n",
      "sky130_fd_pr__res_high_po: \n",
      "sky130_fd_pr__res_xhigh_po_0p35: \n",
      "sky130_fd_pr__res_xhigh_po_0p69: \n",
      "sky130_fd_pr__res_xhigh_po_1p41: \n",
      "sky130_fd_pr__res_xhigh_po_2p85: \n",
      "sky130_fd_pr__res_xhigh_po_5p73: \n",
      "sky130_fd_pr__res_xhigh_po__base: \n",
      "sky130_fd_pr__res_high_po_0p35: \n",
      "sky130_fd_pr__res_high_po_0p69: \n",
      "sky130_fd_pr__res_high_po_1p41: \n",
      "sky130_fd_pr__res_high_po_2p85: \n",
      "sky130_fd_pr__res_high_po_5p73: \n",
      "sky130_fd_pr__rf_nfet_g5v0d10v5_bM10W3p00L0p50: \n",
      "sky130_fd_pr__rf_nfet_g5v0d10v5_bM04W3p00L0p50: \n",
      "sky130_fd_pr__rf_nfet_g5v0d10v5_bM10W5p00L0p50: \n",
      "sky130_fd_pr__rf_nfet_g5v0d10v5_bM04W5p00L0p50: \n",
      "sky130_fd_pr__rf_nfet_g5v0d10v5_bM10W7p00L0p50: \n",
      "sky130_fd_pr__rf_nfet_g5v0d10v5_bM04W7p00L0p50: \n",
      "sky130_fd_pr__rf_nfet_g5v0d10v5_bM02W5p00L0p50: \n",
      "sky130_fd_pr__rf_nfet_g5v0d10v5_bM02W3p00L0p50: \n",
      "sky130_fd_pr__rf_nfet_01v8_lvt_aF02W0p84L0p15: \n",
      "sky130_fd_pr__rf_nfet_01v8_lvt_aF04W0p84L0p15: \n",
      "sky130_fd_pr__rf_nfet_01v8_lvt_aF04W3p00L0p15: \n",
      "sky130_fd_pr__rf_nfet_01v8_lvt_aF02W0p42L0p15: \n",
      "sky130_fd_pr__rf_nfet_01v8_lvt_aF02W3p00L0p15: \n",
      "sky130_fd_pr__rf_nfet_01v8_lvt_aF08W3p00L0p15: \n",
      "sky130_fd_pr__rf_nfet_01v8_lvt_aF08W0p84L0p15: \n",
      "sky130_fd_pr__rf_nfet_01v8_bM02W1p65L0p15: \n",
      "sky130_fd_pr__rf_nfet_01v8_bM04W1p65L0p15: \n",
      "sky130_fd_pr__rf_nfet_01v8_bM02W1p65L0p18: \n",
      "sky130_fd_pr__rf_nfet_01v8_bM04W1p65L0p18: \n",
      "sky130_fd_pr__rf_nfet_01v8_bM02W1p65L0p25: \n",
      "sky130_fd_pr__rf_nfet_01v8_bM04W1p65L0p25: \n",
      "sky130_fd_pr__rf_nfet_01v8_bM02W3p00L0p15: \n",
      "sky130_fd_pr__rf_nfet_01v8_bM04W3p00L0p15: \n",
      "sky130_fd_pr__rf_nfet_01v8_bM02W3p00L0p18: \n",
      "sky130_fd_pr__rf_nfet_01v8_bM04W3p00L0p18: \n",
      "sky130_fd_pr__rf_nfet_01v8_bM02W3p00L0p25: \n",
      "sky130_fd_pr__rf_nfet_01v8_bM04W3p00L0p25: \n",
      "sky130_fd_pr__rf_nfet_01v8_bM02W5p00L0p15: \n",
      "sky130_fd_pr__rf_nfet_01v8_bM04W5p00L0p15: \n",
      "sky130_fd_pr__rf_nfet_01v8_bM02W5p00L0p18: \n",
      "sky130_fd_pr__rf_nfet_01v8_bM04W5p00L0p18: \n",
      "sky130_fd_pr__rf_nfet_01v8_bM02W5p00L0p25: \n",
      "sky130_fd_pr__rf_nfet_01v8_bM04W5p00L0p25: \n",
      "sky130_fd_pr__rf_pfet_01v8_bM02W1p65L0p15: \n",
      "sky130_fd_pr__rf_pfet_01v8_bM04W1p65L0p15: \n",
      "sky130_fd_pr__rf_pfet_01v8_bM02W1p65L0p18: \n",
      "sky130_fd_pr__rf_pfet_01v8_bM04W1p65L0p18: \n",
      "sky130_fd_pr__rf_pfet_01v8_bM02W1p65L0p25: \n",
      "sky130_fd_pr__rf_pfet_01v8_bM04W1p65L0p25: \n",
      "sky130_fd_pr__rf_pfet_01v8_bM02W3p00L0p15: \n",
      "sky130_fd_pr__rf_pfet_01v8_bM04W3p00L0p15: \n",
      "sky130_fd_pr__rf_pfet_01v8_bM02W3p00L0p18: \n",
      "sky130_fd_pr__rf_pfet_01v8_bM04W3p00L0p18: \n",
      "sky130_fd_pr__rf_pfet_01v8_bM02W3p00L0p25: \n",
      "sky130_fd_pr__rf_pfet_01v8_bM04W3p00L0p25: \n",
      "sky130_fd_pr__rf_pfet_01v8_bM02W5p00L0p15: \n",
      "sky130_fd_pr__rf_pfet_01v8_bM04W5p00L0p15: \n",
      "sky130_fd_pr__rf_pfet_01v8_bM02W5p00L0p18: \n",
      "sky130_fd_pr__rf_pfet_01v8_bM04W5p00L0p18: \n",
      "sky130_fd_pr__rf_pfet_01v8_bM02W5p00L0p25: \n",
      "sky130_fd_pr__rf_pfet_01v8_bM04W5p00L0p25: \n",
      "sky130_fd_pr__rf_pfet_01v8_aF02W1p68L0p15: \n",
      "sky130_fd_pr__rf_pfet_01v8_aF02W5p00L0p15: \n",
      "sky130_fd_pr__rf_pfet_01v8_aF02W0p84L0p15: \n",
      "sky130_fd_pr__rf_pfet_01v8_aF04W1p68L0p15: \n",
      "sky130_fd_pr__rf_pfet_01v8_aF02W3p00L0p15: \n",
      "sky130_fd_pr__rf_pfet_01v8_mvt_aF02W1p68L0p15: \n",
      "sky130_fd_pr__rf_pfet_01v8_mvt_aF02W0p84L0p15: \n",
      "sky130_fd_pr__rf_pfet_01v8_mvt_aF04W1p68L0p15: \n",
      "sky130_fd_pr__rf_nfet_01v8_bM02: \n",
      "sky130_fd_pr__rf_nfet_01v8_bM02W3p00: \n",
      "sky130_fd_pr__rf_nfet_01v8_bM02W5p00: \n",
      "sky130_fd_pr__rf_nfet_01v8_bM04: \n",
      "sky130_fd_pr__rf_nfet_01v8_bM04W3p00: \n",
      "sky130_fd_pr__rf_nfet_01v8_bM04W5p00: \n",
      "sky130_fd_pr__rf_nfet_01v8_lvt_bM02: \n",
      "sky130_fd_pr__rf_nfet_01v8_lvt_bM02W3p00: \n",
      "sky130_fd_pr__rf_nfet_01v8_lvt_bM02W5p00: \n",
      "sky130_fd_pr__rf_nfet_01v8_lvt_bM02W5p00L0p18: \n",
      "sky130_fd_pr__rf_nfet_01v8_lvt_bM02W5p00L0p25: \n",
      "sky130_fd_pr__rf_nfet_01v8_lvt_bM04: \n",
      "sky130_fd_pr__rf_nfet_01v8_lvt_bM04W3p00: \n",
      "sky130_fd_pr__rf_nfet_01v8_lvt_bM04W5p00: \n",
      "sky130_fd_pr__rf_nfet_01v8_lvt_bM04W5p00L0p18: \n",
      "sky130_fd_pr__rf_nfet_01v8_lvt_bM04W5p00L0p25: \n",
      "sky130_fd_pr__rf_nfet_g5v0d10v5_bM02: \n",
      "sky130_fd_pr__rf_nfet_g5v0d10v5_bM02W5p00: \n",
      "sky130_fd_pr__rf_nfet_g5v0d10v5_bM04: \n",
      "sky130_fd_pr__rf_nfet_g5v0d10v5_bM04W5p00: \n",
      "sky130_fd_pr__rf_nfet_g5v0d10v5_bM04W7p00: \n",
      "sky130_fd_pr__rf_nfet_g5v0d10v5_bM10: \n",
      "sky130_fd_pr__rf_nfet_g5v0d10v5_bM10W5p00: \n",
      "sky130_fd_pr__rf_nfet_g5v0d10v5_bM10W7p00: \n",
      "sky130_fd_pr__rf_pfet_01v8_bM02: \n",
      "sky130_fd_pr__rf_pfet_01v8_bM02W3p00: \n",
      "sky130_fd_pr__rf_pfet_01v8_bM02W5p00: \n",
      "sky130_fd_pr__rf_pfet_01v8_bM04: \n",
      "sky130_fd_pr__rf_pfet_01v8_bM04W3p00: \n",
      "sky130_fd_pr__rf_pfet_01v8_bM04W5p00: \n",
      "sky130_fd_pr__pfet_01v8_mvt: \n"
     ]
    }
   ],
   "source": [
    "# Select a particular corner using tt, ff, fs, sf, ss, hh, hl, lh, ll.\n",
    "corner = \"tt\"  # Use typical transistor models.\n",
    "\n",
    "# Create a SKiDL library for the Skywater devices at that process corner.\n",
    "sky_lib = SchLib(\n",
    "    \"/home/devb/tmp/skywater-pdk/libraries/sky130_fd_pr/latest/models/sky130.lib.spice\",\n",
    "    lib_section=corner,  # Load the transistor models for this corner.\n",
    "    recurse=True,  # The master lib includes sublibraries, so recurse thru them to load everything.\n",
    ")\n",
    "\n",
    "print(sky_lib)  # Print the list of devices in the library."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The progress messages indicate a few errors in the libraries (maybe they're corrected by now), but I'm not using those particular devices so I'm not going to worry about it. From the list above, I can pick out the 1.8V general-purpose transistors I want, but I also need to specify their gate dimensions so the right model gets loaded. I picked out a small NMOS FET, and then a PMOS FET that's 3x the width. (That's because I learned in my 1983 VLSI class that PMOS transistors have 3x the resistance-per-square of NMOS ones, so make them wider to make the current-driving capability about the same in each.)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:52:06.253747Z",
     "start_time": "2021-04-30T19:52:06.230137Z"
    }
   },
   "outputs": [],
   "source": [
    "nfet_wl = Parameters(W=0.42, L=0.15)\n",
    "pfet_wl = Parameters(W=1.26, L=0.15)  # 3x the width of the NMOS FET."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now I can extract the NMOS and PMOS transistors from the library and use them to build logic gates:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:52:06.299396Z",
     "start_time": "2021-04-30T19:52:06.255746Z"
    }
   },
   "outputs": [],
   "source": [
    "nfet = Part(sky_lib, \"sky130_fd_pr__nfet_01v8\", params=nfet_wl)\n",
    "pfet = Part(sky_lib, \"sky130_fd_pr__pfet_01v8\", params=pfet_wl)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Some Infrastructure"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Before I start building gates, there's some stuff that I'll use over and over to test the circuitry. The first of these is an *oscilloscope function* that takes a complete set of waveform data from a simulation and plots selected waveforms from it:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:52:06.325022Z",
     "start_time": "2021-04-30T19:52:06.300608Z"
    }
   },
   "outputs": [],
   "source": [
    "disp_vmin, disp_vmax = -0.4@u_V, 2.4@u_V\n",
    "disp_imin, disp_imax = -10@u_mA, 10@u_mA\n",
    "\n",
    "def oscope(waveforms, *nets_or_parts):\n",
    "    \"\"\"\n",
    "    Plot selected waveforms as a stack of individual traces.\n",
    "    \n",
    "    Args:\n",
    "        waveforms: Complete set of waveform data from ngspice simulation.\n",
    "        nets_or_parts: SKiDL Net or Part objects that correspond to individual waveforms.\n",
    "        vmin, vmax: Minimum/maximum voltage limits for each waveform trace.\n",
    "        imin, imax: Minimum/maximum current limits for each waveform trace.\n",
    "    \"\"\"\n",
    "    # Determine if this is a time-series plot, or something else.\n",
    "    try:\n",
    "        x = waveforms.time  # Sample times are used for the data x coord.\n",
    "    except AttributeError:\n",
    "        # Use the first Net or Part data to supply the x coord.\n",
    "        nets_or_parts = list(nets_or_parts)\n",
    "        x_node = nets_or_parts.pop(0)\n",
    "        x = waveforms[node(x_node)]\n",
    "\n",
    "    # Create separate plot traces for each selected waveform.\n",
    "    num_traces = len(nets_or_parts)\n",
    "    trace_hgt = 1.0 / num_traces\n",
    "    fig, axes = plt.subplots(nrows=num_traces, sharex=True, squeeze=False,\n",
    "                               subplot_kw=None, gridspec_kw=None)\n",
    "    traces = axes[:,0]\n",
    "\n",
    "    # Set the X axis label on the bottom-most trace.\n",
    "    if isinstance(x.unit, SiUnits.Second):\n",
    "        xlabel = 'Time (S)'\n",
    "    elif isinstance(x.unit, SiUnits.Volt):\n",
    "        xlabel = x_node.name + ' (V)'\n",
    "    elif isinstance(x.unit, SiUnits.Ampere):\n",
    "        xlabel = x_node.ref + ' (A)'\n",
    "    traces[-1].set_xlabel(xlabel)\n",
    "\n",
    "    # Set the Y axis label position for each plot trace.\n",
    "    trace_ylbl_position = dict(rotation=0,\n",
    "                              horizontalalignment='right',\n",
    "                              verticalalignment='center',\n",
    "                              x=-0.01)\n",
    "    \n",
    "    # Plot each Net/Part waveform in its own trace.\n",
    "    for i, (net_or_part, trace) in enumerate(zip(nets_or_parts, traces), 1):\n",
    "        \n",
    "        y = waveforms[node(net_or_part)]  # Extract the waveform data\n",
    "        \n",
    "        # Set the Y axis label depending upon whether data is voltage or current.\n",
    "        if isinstance(y.unit, SiUnits.Volt):\n",
    "            trace.set_ylim(float(disp_vmin), float(disp_vmax))\n",
    "            trace.set_ylabel(net_or_part.name + ' (V)', trace_ylbl_position)\n",
    "        elif isinstance(y.unit, SiUnits.Ampere):\n",
    "            trace.set_ylim(float(disp_imin), float(disp_imax))\n",
    "            trace.set_ylabel(net_or_part.ref + ' (A)', trace_ylbl_position)\n",
    "        \n",
    "        # Set position of trace within stacked traces.\n",
    "        trace.set_position([0.1, (num_traces-i) * trace_hgt, 0.8, trace_hgt])\n",
    "        \n",
    "        # Place grid on X axis.\n",
    "        trace.grid(axis='x', color='orange', alpha=1.0)\n",
    "        \n",
    "        # Plot the waveform data.\n",
    "        trace.plot(x, y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In addition to an oscilloscope, every electronics bench has a *signal generator*. For my purposes, I only need a simple function that generates one or more square waves whose frequencies decrease by a factor of two. (The collection of square waves looks like the output of a binary *counter*, hence the name.)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:52:06.346144Z",
     "start_time": "2021-04-30T19:52:06.326612Z"
    }
   },
   "outputs": [],
   "source": [
    "default_freq = 500@u_MHz  # Specify a default frequency so it doesn't need to be set every time.\n",
    "\n",
    "def cntgen(*bits, freq=default_freq):\n",
    "    \"\"\"\n",
    "    Generate one or more square waves varying in frequency by a factor of two.\n",
    "    \n",
    "    Args:\n",
    "        bits: One or more Net objects, each of which will carry a square wave.\n",
    "    \"\"\"\n",
    "    bit_period = 1.0/freq\n",
    "    for bit in bits:\n",
    "        \n",
    "        # Create a square-wave pulse generator with the current period.\n",
    "        pulse = PULSEV(initial_value=vdd_voltage, pulsed_value=0.0@u_V,\n",
    "                       pulse_width=bit_period/2, period=bit_period)\n",
    "        \n",
    "        # Attach the pulse generator between ground and the net that carries the square wave. \n",
    "        gnd & pulse[\"n, p\"] & bit\n",
    "        \n",
    "        # Double the period (halve the frequency) for each successive bit.\n",
    "        bit_period = 2 * bit_period"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "All the circuits in this notebook will run from a 1.8V supply, so the following function instantiates a global power supply and a $V_{dd}$ voltage rail for them to use:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:52:06.366673Z",
     "start_time": "2021-04-30T19:52:06.347916Z"
    }
   },
   "outputs": [],
   "source": [
    "default_voltage = 1.8@u_V  # Specify a default supply voltage.\n",
    "\n",
    "def pwr(voltage=default_voltage):\n",
    "    \"\"\"\n",
    "    Create a global power supply and voltage rail.\n",
    "    \"\"\"\n",
    "    # Clear any pre-existing circuitry. (Start with a clear slate.)\n",
    "    reset()\n",
    "    \n",
    "    # Global variables for the power supply and voltage rail.\n",
    "    global vdd_ps, vdd, vdd_voltage\n",
    "    \n",
    "    # Create a power supply and attach it between the Vdd rail and ground.\n",
    "    vdd_voltage = voltage\n",
    "    vdd_ps = V(ref=\"VDD_SUPPLY\", dc_value=vdd_voltage)\n",
    "    vdd = Net(\"Vdd\")\n",
    "    vdd & vdd_ps[\"p, n\"] & gnd"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Finally, here are some convenience functions that 1) generate a netlist from the SKiDL code and use that to create a PySpice simulator object, 2) use the simulator object to perform a DC-level analysis, 3) use the simulator to perform a transient analysis, and 4) count the number of transistors in a circuit."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:52:06.389863Z",
     "start_time": "2021-04-30T19:52:06.368002Z"
    }
   },
   "outputs": [],
   "source": [
    "get_sim  = lambda: Simulator.factory().simulation(generate_netlist())\n",
    "do_dc    = lambda **kwargs: get_sim().dc(**kwargs)          # Run a DC-level analysis.\n",
    "do_trans = lambda **kwargs: get_sim().transient(**kwargs)   # Run a transient analysis.\n",
    "\n",
    "def how_big(circuit=default_circuit):\n",
    "    from collections import defaultdict\n",
    "    parts = defaultdict(lambda: 0)\n",
    "    for p in circuit.parts:\n",
    "        parts[p.name] += 1\n",
    "    for part_name, num_parts in parts.items():\n",
    "        print(f\"{part_name}: {num_parts}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "With the infrastructure in place, I can begin building logic gates, starting from the simplest one I know."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## The Simplest: the Inverter\n",
    "\n",
    "Here's the gate-level schematic for a CMOS inverter:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "![CMOS inverter transistor schematic](https://allthingsvlsi.files.wordpress.com/2013/04/cmos-inverter.png?w=286&h=300)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And this is it's SKiDL version:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:52:06.416444Z",
     "start_time": "2021-04-30T19:52:06.394530Z"
    }
   },
   "outputs": [],
   "source": [
    "@subcircuit\n",
    "def inverter():\n",
    "\n",
    "    # Create input and output nets.\n",
    "    a=Net()\n",
    "    out=Net()\n",
    "\n",
    "    # Create the NFET and PFET transistors.\n",
    "    qp, qn = pfet(), nfet()\n",
    "\n",
    "    # Attach the NFET substrate to ground and the PFET substrate to Vdd.\n",
    "    gnd & qn.b\n",
    "    vdd & qp.b\n",
    "\n",
    "    # Connect Vdd through the PFET source-to-drain on to the output node.\n",
    "    # From the output node, connect through the NFET drain-to-source to ground.\n",
    "    vdd & qp[\"s,d\"] & out & qn[\"d,s\"] & gnd\n",
    "\n",
    "    # Attach the input to the NFET and PFET gate terminals.\n",
    "    a & qn.g & qp.g\n",
    "\n",
    "    return Interface(a=a, out=out)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "First, I'll test the inverter's transfer function by attaching a voltage ramp to its input and see when the output transitions. (For those playing at home, you may notice the SPICE simulations take a minute or two to run. These transistor models are *complicated*.)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:52:37.600560Z",
     "start_time": "2021-04-30T19:52:06.418376Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO: No errors or warnings found while generating netlist.\n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlkAAAIfCAYAAABD+ck2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA81UlEQVR4nO3deXhU5f3//9fMJJkQshFDNgi7LCKbUGhSFahoUOQjrQWkVRCin357qR+V1lb6rVKL/YEfF9RKpbZC1IoggtivWhWhYZGolaUKIkhECJAEWUIWss/5/ZHMwJCFmWROJpl5Pq5rriRn7nPmfU4P46v3uc99LIZhGAIAAIBPWf1dAAAAQCAiZAEAAJiAkAUAAGACQhYAAIAJCFkAAAAmIGQBAACYgJAFAABgAkIWAACACUL8XUBH5XA4dOzYMUVFRclisfi7HAAA0AYMw1BJSYlSUlJktTbfV0XIaqFjx44pNTXV32UAAAA/yMvLU/fu3ZttQ8hqoaioKEl1Bzk6Otq3G68ult5MlX6UJ4X6eNsdBceAYxDs+y9xDCSOQbDvv9TujkFxcbFSU1NdOaA5hKwWcl4ijI6ONiFkSYqQFB3dLk4ov+AYcAyCff8ljoHEMQj2/Zfa7THwZKgQA98BAABMQMgCAAAwASELAADABIQsAAAAExCyAAAATEDIAgAAMAEhCwAAwASELAAAABMQsgAAAExAyAIAADABIQsAAMAEhCwAAAATELIAAABMQMgCAAAwASELAADABIQsAAAAExCyAAAATEDIAgAAMAEhCwAAwASELAAAABMQsgAAAExAyAIAADABIQsAAMAEhCwAAAATELIAAABMQMgCAAAwASELAADABIQsAAAAExCyAAAATEDIAgAAMAEhCwAAwASELAAAABMQsgAAAExAyAIAADABIQsAAMAEhCwAAAATELIAAABMQMgCAAAwASELAADABIQsAAAAExCyAAAATEDIAgAAMAEhCwAAwASELAAAABMQsgAAAExAyAIAADABIQsAAMAEhCwAAAATELIAAABMQMgCAAAwASELAADABIQsAAAAExCyAAAATEDIAgAAMAEhCwAAwASELAAAABMQsgAAAExAyAIAADABIQsAAMAEhCwAAAATELIAAABM0OFD1sKFC/W9731PUVFRSkhI0JQpU7Rv376Lrrd69WoNHDhQ4eHhGjJkiN599902qBYAAASLDh+yNm3apLvuuksff/yx1q9fr+rqal133XUqKytrcp1t27ZpxowZyszM1M6dOzVlyhRNmTJFu3fvbsPKAQBAIAvxdwGt9d5777n9nZWVpYSEBG3fvl1XX311o+s888wzmjhxoh544AFJ0oIFC7R+/Xo999xzWrp0qek1AwCAwNfhe7IudObMGUlSXFxck21ycnI0YcIEt2UZGRnKyclpcp3KykoVFxe7vQAAAJoSUCHL4XDovvvu0w9+8ANdfvnlTbYrKChQYmKi27LExEQVFBQ0uc7ChQsVExPjeqWmpvqsbgAAEHgCKmTddddd2r17t1auXOnzbc+bN09nzpxxvfLy8nz+GQAAIHB0+DFZTnfffbfefvttbd68Wd27d2+2bVJSkgoLC92WFRYWKikpqcl17Ha77Ha7T2oFAACBr8P3ZBmGobvvvltvvvmmNm7cqN69e190nbS0NG3YsMFt2fr165WWlmZWmQAAIMh0+J6su+66SytWrNBbb72lqKgo17iqmJgYderUSZI0c+ZMdevWTQsXLpQk3XvvvRo7dqyefPJJTZo0SStXrtRnn32mF154wW/7AQAAAkuH78l6/vnndebMGY0bN07Jycmu16pVq1xtDh8+rPz8fNff6enpWrFihV544QUNGzZMb7zxhtatW9fsYHkAAABvdPieLMMwLtomOzu7wbKpU6dq6tSpJlQEAAAQAD1ZAAAA7REhCwAAwASELAAAABMQsgAAAExAyAIAADABIQsAAMAEhCwAAAATELIAAABMQMgCAAAwASELAADABIQsAAAAExCyAAAATEDIAgAAMAEhCwAAwASELAAAABMQsgAAAExAyAIAADABIQsAAMAEhCwAAAATELIAAABMQMgCAAAwASELAADABIQsAAAAExCyAAAATEDIAgAAMAEhCwAAwAQh/i4ADb31+XEdO36ztDlPsoW7llssDds2sqiZtg0XNtauKZZGGje2elPbbLxtEzXVVkgnJkmfHJNsp5pcv7EPM+OYtHabTW2g2WNSWy6d+qG0s1AWW7Hnn9/IMpvVqjCbRSFWq0JsFoXZrAqxnf973XvO30NtVkWE2RQRZmv0fyMAwMURstqhlZ8VKKdgtlTwrb9L8bNfSMdy/V2En82Vjuz326dbLFJEqE2d7SGKtIcowm5T57AQRYWH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oKDR9gUFBU1+zsKFC/XII4+0vmAA6ACsVosSosKVEBWuK3p0abKdYRgqr65VaX3AKqmoVklFjUorz/1+tqpWFdW1qqh2qLKm4c/Kaocq6n/WGoZqHYZqHA7V1tb9dJQXqia0q2odUo3j3PsOw/v9Mgyp1jh/xRZspM11kWqC/bmV8VJ1lVdrdI2ym1SL5zp8yGor8+bNc+v9Ki4uVmpqqh8rAgD/s1gsigiruySYEG3CB1QXS6tjpKlnpFD3DzBcgazu5TAMGYYkQzJU97tR367uZ91yGZKjsTaGc7sN36sLdOfaeMPbVdw+o6ZU+iBNui5HCols5jO8+5QW7UeL9t0HddWUSR9eJU3YIoV09nhb7WFS3g4fsuLj42Wz2VRYWOi2vLCwUElJSY2uk5SU5FV7SbLb7bLb/Z+KAQB1LJa68Vkh/v9vqXmqDSn8kJTYWQqN8nc1/lFtkTp9I6VENgja7V2Hvzc3LCxMI0eO1IYNG1zLHA6HNmzYoLS0tEbXSUtLc2svSevXr2+yPQAAgLc6fE+WJM2dO1ezZs3SqFGjNHr0aD399NMqKytz3W04c+ZMdevWTQsXLpQk3XvvvRo7dqyefPJJTZo0SStXrtRnn32mF154wZ+7AQAAAkhAhKzp06fru+++08MPP6yCggINHz5c7733nmtw++HDh2W1nuu0S09P14oVK/S73/1Ov/3tb3XppZdq3bp1zJEFAAB8JiBCliTdfffduvvuuxt9Lzs7u8GyqVOnaurUqSZXBQAAglWHH5MFAADQHhGyAAAATEDIAgAAMAEhCwAAwASELAAAABMQsgAAAExAyAIAADABIQsAAMAEhCwAAAATELIAAABMQMgCAAAwASELAADABIQsAAAAExCyAAAATEDIAgAAMAEhCwAAwASELAAAABMQsgAAAExAyAIAADABIQsAAMAEhCwAAAATELIAAABMQMgCAAAwASELAADABIQsAAAAExCyAAAATEDIAgAAMAEhCwAAwASELAAAABMQsgAAAExAyAIAADABIQsAAMAEhCwAAAATELIAAABMQMgCAAAwASELAADABIQsAAAAExCyAAAATEDIAgAAMAEhCwAAwASELAAAABMQsgAAAExAyAIAADABIQsAAMAEhCwAAAATELIAAABMQMgCAAAwASELAADABIQsAAAAExCyAAAATEDIAgAA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Gl0nKSmp2fbOn95s059acgycnnjiCS1atEgffPCBhg4d2mzbPn36KD4+XgcOHGh1zb7Umv13Cg0N1YgRI1z7FkznQFlZmVauXOnRl2V7PQdaoqnvgejoaHXq1Mkn51VHsXLlSt1xxx16/fXXG1xCvVBsbKz69+8fEOdAY0aPHu3at2A6BwzD0LJly3TbbbcpLCys2bbt6RwgZJksLCxMI0eO1IYNG1zLHA6HNmzY4NZTcb60tDS39pK0fv16V/vevXsrKSnJrU1xcbE++eSTJrfpTy05BlLd3XMLFizQe++9p1GjRl30c44cOaKTJ08qOTnZJ3X7Skv3/3y1tbX64osvXPsWLOeAVDedSWVlpW699daLfk57PQda4mLfA744rzqC1157TbNnz9Zrr73mNn1HU0pLS5WbmxsQ50Bjdu3a5dq3YDkHJGnTpk06cOCAR/9nq12dA/4eeR8MVq5cadjtdiMrK8v48ssvjf/+7/82YmNjjYKCAsMwDOO2224zHnzwQVf7jz76yAgJCTGeeOIJY+/evcb8+fON0NBQ44svvnC1WbRokREbG2u89dZbxueff27cdNNNRu/evY3y8vI23z9PeHsMFi1aZISFhRlvvPGGkZ+f73qVlJQYhmEYJSUlxq9+9SsjJyfHOHjwoPHhhx8aV1xxhXHppZcaFRUVftnH5ni7/4888ojx/vvvG7m5ucb27duNW265xQgPDzf27NnjahPo54DTlVdeaUyfPr3B8o52DpSUlBg7d+40du7caUgynnrqKWPnzp3GoUOHDMMwjAcffNC47bbbXO2/+eYbIyIiwnjggQeMvXv3GkuWLDFsNpvx3nvvudpc7Ji2N94eg1dffdUICQkxlixZ4vY9UFRU5Grzy1/+0sjOzjYOHjxofPTRR8aECROM+Ph44/jx422+fxfj7f4vXrzYWLdunfH1118bX3zxhXHvvfcaVqvV+PDDD11tAv0ccLr11luNMWPGNLrN9nwOELLayJ/+9CejR48eRlhYmDF69Gjj448/dr03duxYY9asWW7tX3/9daN///5GWFiYMXjwYOOdd95xe9/hcBgPPfSQkZiYaNjtduOaa64x9u3b1xa70mLeHIOePXsakhq85s+fbxiGYZw9e9a47rrrjK5duxqhoaFGz549jTvvvLPdfrEYhnf7f99997naJiYmGjfccIOxY8cOt+0F+jlgGIbx1VdfGZKMDz74oMG2Oto54Lwd/8KXc59nzZpljB07tsE6w4cPN8LCwow+ffoYy5cvb7Dd5o5pe+PtMRg7dmyz7Q2jblqL5ORkIywszOjWrZsxffp048CBA227Yx7ydv8fe+wxo2/fvkZ4eLgRFxdnjBs3zti4cWOD7QbyOWAYddPTdOrUyXjhhRca3WZ7PgcshmEYJneWAQAABB3GZAEAAJiAkAUAAGACQhYAAIAJCFkAAAAmIGQBAACYgJAFAABgAkIWAACACQhZAAAAJiBkAYCPXX311VqxYoVX6yxdulSTJ082qSIA/kDIAhCQJk+erIkTJzb63pYtW2SxWPT555/r22+/lcVi0a5duyTJ9XdCQoJKSkrc1hs+fLh+//vfN/u5//jHP1RYWKhbbrlFVVVVio+P16JFixptu2DBAiUmJqq6ulpz5szRjh07tGXLFq/3FUD7RMgCEJAyMzO1fv16HTlypMF7y5cv16hRozR06NAm1y8pKdETTzzh9ec+++yzmj17tqxWq8LCwnTrrbdq+fLlDdoZhqGsrCzNnDlToaGhCgsL009/+lM9++yzXn8mgPaJkAUgIN14443q2rWrsrKy3JaXlpZq9erVyszMbHb9e+65R0899ZSOHz/u8Wd+99132rhxo9tlv8zMTO3fv19bt251a7tp0yZ98803bnVMnjxZ//jHP1ReXu7xZwJovwhZAAJSSEiIZs6cqaysLBmG4Vq+evVq1dbWasaMGc2uP2PGDPXr109/+MMfPP7MrVu3KiIiQoMGDXItGzJkiL73ve9p2bJlbm2XL1+u9PR0DRw40LVs1KhRqqmp0SeffOLxZwJovwhZAALWnDlzlJubq02bNrmWLV++XDfffLNiYmKaXddisWjRokV64YUXlJub69HnHTp0SImJibJa3b9aMzMztXr1apWWlkqquxT5xhtvaM6cOW7tIiIiFBMTo0OHDnn0eQDaN0IWgIA1cOBApaenu3qRDhw4oC1btlz0UqFTRkaGrrzySj300EMetS8vL1d4eHiD5TNmzFBtba1ef/11SdKqVatktVo1ffr0Bm07deqks2fPevR5ANo3QhaAgJaZmak1a9aopKREy5cvV9++fTV27FiP11+0aJFWrVqlnTt3XrRtfHy8Tp8+3WB5dHS0fvKTn7gGwC9fvlzTpk1TZGRkg7anTp1S165dPa4PQPtFyAIQ0KZNmyar1aoVK1bo5Zdf1pw5c2SxWDxef/To0frxj3+sBx988KJtR4wYoYKCgkaDVmZmprZu3aq3335b27Zta7Q3LTc3VxUVFRoxYoTH9QFovwhZAAJaZGSkpk+frnnz5ik/P1+3336719v44x//qI0bN2rfvn3NthsxYoTi4+P10UcfNXjv6quvVr9+/TRz5kzXZcwLbdmyRX369FHfvn29rhFA+0PIAhDwMjMzdfr0aWVkZCglJcXr9fv37685c+aooqKi2XY2m02zZ8/Wq6++2uA9i8WiOXPm6PTp0w0GvDu99tpruvPOO72uD0D7ZDHOv7cZANAqBQUFGjx4sHbs2KGePXt6vN6ePXv0wx/+UPv377/onY8AOgZ6sgDAh5KSkvTiiy/q8OHDXq2Xn5+vl19+mYAFBBB6sgAAAExATxYAAIAJCFkAAAAmIGQBAACYgJAFAABgAkIWAACACQhZAAAAJiBkAQAAmICQBQAAYAJCFgAAgAn+f/POC9ocOEJhAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pwr()  # Apply power to the circuitry.\n",
    "\n",
    "inv = inverter()  # Create an inverter.\n",
    "\n",
    "# Attach a voltage source between ground and the inverter's input.\n",
    "# Then attach the output to a net.\n",
    "gnd & V(ref=\"VIN\", dc_value=0.0@u_V)[\"n, p\"] & Net(\"VIN\") & inv[\"a, out\"] & Net(\"VOUT\")\n",
    "\n",
    "# Do a DC-level simulation while ramping the voltage source from 0 to Vdd.\n",
    "vio = do_dc(VIN=slice(0, vdd_voltage, 0.01))\n",
    "\n",
    "# Plot the inverter's output against its input.\n",
    "oscope(vio, inv.a, inv.out)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For a low-level input, the inverter's output is high and vice-versa as expected. From the shape of the transfer curve, I'd estimate the inverter's trigger point is around 0.8V."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "It's also interesting to look at the current draw of the inverter as the input voltage ramps up:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:52:37.914449Z",
     "start_time": "2021-04-30T19:52:37.601720Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Add a trace for the Vdd power supply current.\n",
    "disp_imin, disp_imax = -15@u_uA, 1@u_uA\n",
    "oscope(vio, inv.a, inv.out, vdd_ps)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As we learned in our textbooks so long ago, the quiescent current for CMOS logic is near zero but surges as the input voltage goes through the transition zone when both transistors are ON. For this inverter, the current maxes-out at about 13 $\\mu$A at the trigger point."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "It's equally easy to do a transient analysis of the inverter as it receives an input that varies over time:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:53:10.325456Z",
     "start_time": "2021-04-30T19:52:37.915855Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO: No errors or warnings found while generating netlist.\n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "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gCtSuM/VhGvevHm65557tHr1an322WcnPX737t16+eWXdfvtt0uSvv3tb+vss8/W7373O+uY1atXa/To0Tr77LO1fft29ejRQ5J0/fXX6/Dhw3r11VebPO/KlSt12WWXKT09Xb169VJpaWlrvLxWE6DnCgcGNVywiY6EEygQxWpm73At4Tpy5IgWLVqkH/7whxo1atQpJTnPP/+8+vfvr27dukmSUlNTddttt8U8trq6Wv3791f//v0lSeeee64kKRQK6YYbbtDChQtjnnPnzp0aNWqUhg8frrKyMk2dOlV33nmnXn/99dZ5oa2A2gw4iU4pEkhhjxMuNwSeEp1SdLkhcC/hev7559WnTx/17t1bt956q+bPn3/Sntlbb72lyy+/POa+SZMm6ZNPPtHq1asl1Y9kPfjgg1q3bl2Txw8ePFhvvfVWzH1z585Vz549NXPmTF100UWaMmWK/vmf/1mzZs36iq+w9ZhDwRTNwy46pehyQ+AJ5vuAKUXYWVOKjHC5zrWEa968ebr11lslSdddd50qKyu1atWqZh+za9cu5efnx9zXt29fXXXVVZo/f7513/PPP++YvOXn52vPnj0xdVxr165VUVFRzHEjR47U2rVrW/yaEoUpRThhShF2jHDBibmamSlF97mScG3btk3r1q3TuHHjJEkpKSm65ZZbNG/evGYfd+zYMWVkZDS5/4477tCLL75orVycP3++xo4d2+S4Dh06KBKJqKamxrqvvLxcOTk5Mcfl5OSoqqpKx44dc2xHTU2NqqqqYm6JxJQinLD6CHbWSDhxAjZhq2je5YbAnYRr3rx5qqurU35+vlJSUpSSkqInnnhCixcvVmVlZdzHde3aVYcOHWpy//e+9z1J9SNbn3zyid555x1NmjSpyXFffPGFzjjjDHXo0OErtb+kpERZWVnWraCg4Cs938mEGOGCA/bXgR0j4XBi0DHzjDZPuOrq6vTMM89o5syZKisrs27vv/++8vPz9cc//jHuYwcOHKitW7c2ub9z584aO3as5s+frwULFujCCy/UNddc0+S4LVu2aODAgTH35ebmqqKiIua+iooKZWZmxk3MiouLVVlZad327NlzKi/9tDHCBScRLtkBG+IEnHBFCu9Iaetf+PLLL+vQoUOaNGmSsrKyYn520003ad68ebr77rsdHzty5EjdeeedCofDCoVC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SERSfU969OjR+uUvf9nkufLy8hx/R9euXXX06FHV1tYqLS0t5medO3fW6NGjNXr0aP385z/XyJEj9fOf/zwm4friiy90zjnnnN4LBJLEkSNHtH37duv7nTt3qqysTF26dNGFF16oH/zgBxo/frxmzpypgQMH6vPPP9eKFSt06aWXatSoUS3+fa+//roMw1Dv3r21fft2PfDAA+rTp48mTpzYouch4QKA03DZZZdp8eLF6tGjh1JSTi2UDhgwQJK0detW62sngUBAffr00Zo1a2Lu37Jli4YNG3aaLQaSw/r16zV8+HDr+2nTpkmSJkyYoNLSUi1YsEA///nPdf/992vfvn3q2rWrrrrqKv3TP/3Taf2+yspKFRcXa+/everSpYtuuukm/eIXv2jSSTsZiuYB4DRMnjxZX3zxhcaNG6f33ntPO3bs0Ouvv66JEyfGLX4/55xzdNlll8UsJy8rK9ONN96oF198UVu3btX27ds1b948zZ8/XzfeeKN13NGjR7VhwwaNGDEi4a8N8LJhw4bJMIwmt9LSUkn1o9UPP/ywdu7cqdraWn322Wd66aWXYkoEWuLmm2/Wjh07VFNTo/379+vxxx9XVlZWi5+HhAsATkN+fr7eeecdhcNhjRgxQpdccommTp2qM888s9nVS3feeaf+8Ic/WN93795dPXr00MMPP6wrr7xSl112mWbPnq2HH35YP/7xj63jli1bpnPPPTduXQoAbws07GMBAGgDx44dU+/evbVo0SIVFhae8uOuuuoq/Z//83/0/e9/P4GtA5AojHABQBvq0KGDnnnmGR08ePCUH3Pw4EF997vf1bhx4xLYMgCJxAgXAABAgjHCBQAAkGAkXAAAAAlGwgUAAJBgJFwAAAAJRsIFAACQYCRcAAAACUbCBQAAkGAkXAAAAAlGwgUAAJBg/z8Y1uMArkhXkAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pwr()\n",
    "\n",
    "# Connect a 500 MHz square wave to net A.\n",
    "a = Net(\"A\")\n",
    "cntgen(a)\n",
    "\n",
    "# Pump the square wave through an inverter.\n",
    "inv = inverter()\n",
    "a & inv[\"a, out\"] & Net(\"A_BAR\")\n",
    "\n",
    "# Do a transient analysis and look at the timing between input and output.\n",
    "waveforms = do_trans(step_time=0.01@u_ns, end_time=3.5@u_ns)\n",
    "oscope(waveforms, a, inv.out)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "There is a bit of ringing on the inverter's output but no appreciable propagation delay, probably because there is no real load on the output. In order to get more delay, I'll cascade thirty inverters together and look at the output of the last one:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:53:43.783669Z",
     "start_time": "2021-04-30T19:53:10.326803Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO: No errors or warnings found while generating netlist.\n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "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du/ebTz88MNGQkKCsXPnTrt+hDbT0mPxyCOPGG+++aaxb98+Y9u2bcb3vvc9Izk52fj444/t+hHaxOnTp40dO3YYO3bsMCQZjz/+uLFjxw7jwIEDhmEYxgMPPGDceuut1vZffPGF0aVLF+P+++83du/ebSxcuNBwuVzGG2+8YdeP0CZaehwWLFhgrF692vj888+NnTt3Gvfcc4/hdDqNt956y64foU388Ic/NNLT043169cbR48etR5nz561tomXfqI1xyIW+4kHHnjA2LBhg7F//37jo48+Mh544AHD4XAYf/nLXwzDiJ/Pg2G0/FjY+XkgkHUCv/3tb42LLrrISExMNIYPH2588MEH1mujRo0yZsyYEbD9iy++aFx++eVGYmKiceWVVxqvv/56B7e4/bTkWNx7773WtpmZmcY///M/G9u3b7eh1W3LXL4h+GH+7DNmzDBGjRrVYJ/BgwcbiYmJxsUXX2wsW7asw9vd1lp6HH75y18al1xyiZGcnGx0797dGD16tPH222/b0/g2FOoYSAr4fxwv/URrjkUs9hO333670bdvXyMxMdHo1auX8Y1vfMMKIIYRP58Hw2j5sbDz8+AwDMNo/3E4AAAAhEMNGQAAgM0IZAAAADYjkAEAANiMQAYAAGAzAhkAAIDNCGQAAAA2I5ABAADYjEAGAABixsaNGzVx4kTl5OTI4XBo9erV7fr9Tp8+rXvvvVd9+/ZVSkqKRo4cqQ8//LDF70MgA4Agt912myZNmmTb97/11lv185//vNnbHz9+XBkZGTp8+HA7tgroHCorK5Wfn6+FCxd2yPe74447tHbtWj3//PPauXOnbrrpJo0dO1ZHjhxp2Rt1yP0AACBKKMztdczHww8/bJw6dco4efKkLe0rKSkxunfvbpw+fdp67osvvjCmTp1qZGdnG0lJSUbv3r2Nb37zm8bu3butbe677z7j9ttvt6PJQNSSZLzyyisBz50/f9647777jJycHKNLly7G8OHDjXfeeadV73/27FnD5XIZr732WsDzQ4cONR588MEWvZe7TWMiAES5o0ePWv9esWKFHnroIe3Zs8d6rlu3burWrZsdTZMk/fa3v9XkyZOtNtTU1OjGG29UXl6eXn75ZWVnZ+vw4cP685//rFOnTln7zZw5U8OGDdOvf/1rde/e3abWA9Fvzpw5+uSTT7R8+XLl5OTolVde0fjx47Vz505ddtllLXqv2tpaeTweJScnBzyfkpKi9957r2UNa1UkBIAYsGzZMiM9Pb3B8zNmzDBuueUW6+tRo0YZc+bMMe655x7jggsuMDIyMozFixcbZ86cMW677TajW7duxiWXXGKsWbMm4H127txpjB8/3ujatauRkZFhTJs2zfjqq6/Ctqe2ttZIT08PONvesWOHIcn4+9//3uTP079/f+PZZ59t+gcH4oSCRsgOHDhguFwu48iRIwHbfeMb3zAKCwtb9T0KCgqMUaNGGUeOHDFqa2uN559/3nA6ncbll1/eovehhgwAmuF3v/udevbsqS1btujuu+/WD3/4Q02ePFkjR47U9u3bddNNN+nWW2/V2bNnJUmnTp3S17/+dQ0ZMkRbt27VG2+8obKyMn33u98N+z0++ugjlZeX65prrrGe69Wrl5xOp1566SV5PJ5G2zh8+HC9++67bfMDAzFo586d8ng8uvzyy63R8G7dumnDhg3at2+fJOnTTz+Vw+Fo9PHAAw9Y7/n888/LMAz17t1bSUlJ+s1vfqOpU6fK6WxZxGLKEgCaIT8/Xz/96U8lSYWFhfrFL36hnj176s4775QkPfTQQ3r66af10Ucf6brrrtNTTz2lIUOGBBTnL126VLm5ufrss890+eWXN/geBw4ckMvlUkZGhvVc79699Zvf/Ebz5s3TI488omuuuUZjxozRD37wA1188cUB++fk5GjHjh3t8eMDMeHMmTNyuVzatm2bXC5XwGtmmcDFF1+s3bt3N/o+PXr0sP59ySWXaMOGDaqsrFRFRYWys7M1ZcqUBr+fTSGQAUAzXH311da/XS6XevTooauuusp6LjMzU5J07NgxSdLf/vY3vfPOOyHr0fbt2xcykJ07d05JSUlyOBwBz8+ePVvTp0/X+vXr9cEHH2jlypX6+c9/rj/96U+68cYbre1SUlKsEToADQ0ZMkQej0fHjh3T9ddfH3KbxMREDRgwoMXv3bVrV3Xt2lUnT57Um2++qV/96lct2p9ABgDNkJCQEPC1w+EIeM4MUV6vV1LdmfjEiRP1y1/+ssF7ZWdnh/wePXv21NmzZ1VdXa3ExMSA11JTUzVx4kRNnDhRP/vZzzRu3Dj97Gc/CwhkJ06cUK9evVr3AwIx4syZM9q7d6/19f79+1VSUqLu3bvr8ssv1w9+8ANNnz5d8+fP15AhQ/TVV19p3bp1uvrqqzVhwoQWf78333xThmEoLy9Pe/fu1f33368BAwZo5syZLXofAhkAtIOhQ4dq1apV6tevn9zu5nW1gwcPliR98skn1r9DcTgcGjBggDZt2hTw/K5duzR69OhWthiIDVu3btWYMWOsr+fOnStJmjFjhoqLi7Vs2TL97Gc/03333acjR46oZ8+euu666/Qv//Ivrfp+5eXlKiws1OHDh9W9e3d9+9vf1n/91381OIlrCkX9ANAOZs+erRMnTmjq1Kn68MMPtW/fPr355puaOXNm2OL8Xr16aejQoQGXy5eUlOiWW27RSy+9pE8++UR79+7VkiVLtHTpUt1yyy3WdmfPntW2bdt00003tfvPBkSz0aNHyzCMBo/i4mJJdaPdjzzyiPbv36/q6mp9+eWXevnllwNKEFriu9/9rvbt26eqqiodPXpUTz31lNLT01v8PgQyAGgHOTk5ev/99+XxeHTTTTfpqquu0r333qsLLrig0auv7rjjDv3hD3+wvu7Tp4/69eunRx55RCNGjNDQoUP15JNP6pFHHtGDDz5obffqq6/qoosuClsXAyC6OerX6QAARIFz584pLy9PK1asUEFBQbP3u+666/Qf//Ef+v73v9+OrQPQXhghA4AokpKSoueee07Hjx9v9j7Hjx/Xt771LU2dOrUdWwagPTFCBgAAYDNGyAAAAGxGIAMAALAZgQwAAMBmBDIAAACbEcgAAABsRiADAACwGYEMAADAZgQyAAAAmxHIAAAAbPb/AEhqyI8QUO0NAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pwr()\n",
    "\n",
    "a = Net(\"A\")\n",
    "cntgen(a)\n",
    "\n",
    "# Create a list of 30 inverters.\n",
    "invs = [inverter() for _ in range(30)]\n",
    "\n",
    "# Attach the square wave to the first inverter in the list.\n",
    "a & invs[0].a\n",
    "\n",
    "# Go through the list, attaching the input of each inverter to the output of the previous one.\n",
    "for i in range(1, len(invs)):\n",
    "    invs[i-1].out & invs[i].a\n",
    "    \n",
    "# Attach the output of the last inverter to the output net.\n",
    "invs[-1].out & Net(\"A_DELAY\")\n",
    "\n",
    "# Do a transient analysis.\n",
    "waveforms = do_trans(step_time=0.01@u_ns, end_time=3.5@u_ns)\n",
    "oscope(waveforms, a, invs[-1].out)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Thirty cascaded inverters creates a total delay of around 0.65 ns, so each inverter contributes about 20 ps. This simulation doesn't include things like wiring delays, so don't get your hopes up about running at 50 GHz."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Finally, just to test the `how_big` function, let's see how many transistors are in 30 inverters:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:53:43.803628Z",
     "start_time": "2021-04-30T19:53:43.784906Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "V: 1\n",
      "PULSEV: 1\n",
      "sky130_fd_pr__pfet_01v8: 30\n",
      "sky130_fd_pr__nfet_01v8: 30\n"
     ]
    }
   ],
   "source": [
    "how_big()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Thirty NMOS and thirty PMOS transistors. We're good to go."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## The Universal: the NAND Gate"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "They say if you have a NAND gate, you have it all (if all you want is combinational logic, which seems a bit limited). Here's the schematic for one:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "![CMOS NAND gate schematic](https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fwww.allaboutcircuits.com%2Fuploads%2Farticles%2FCMOS-NAND-gate-schematic-diagram.jpg&f=1&nofb=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And this is its SKiDL version:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:53:43.826447Z",
     "start_time": "2021-04-30T19:53:43.805363Z"
    }
   },
   "outputs": [],
   "source": [
    "@subcircuit\n",
    "def nand():\n",
    "\n",
    "    # Create inputs and output.\n",
    "    a, b, out = Net()*3\n",
    "\n",
    "    # Create the PFET and NFET transistors.\n",
    "    q1, q2 = pfet(2)\n",
    "    q3, q4 = nfet(2)\n",
    "    \n",
    "    # Connect the PFET/NFET substrates to Vdd/gnd, respectively.\n",
    "    vdd & q1.b & q2.b\n",
    "    gnd & q3.b & q4.b\n",
    "    \n",
    "    # Go from Vdd through a parallel-pair of PFETs to the output and then\n",
    "    # through a series-pair of NFETs to ground.\n",
    "    vdd & (q1[\"s,d\"] | q2[\"s,d\"]) & out & q3[\"d,s\"] & q4[\"d,s\"] & gnd\n",
    "    \n",
    "    # Connect the pair of inputs to the gates of the transistors.\n",
    "    a & q1.g & q3.g\n",
    "    b & q2.g & q4.g\n",
    "\n",
    "    return Interface(a=a, b=b, out=out)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Like with the inverter, I'll do a transient analysis but using two square waves to drive both NAND inputs:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:54:16.001686Z",
     "start_time": "2021-04-30T19:53:43.827726Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO: No errors or warnings found while generating netlist.\n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "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2CUXm7d9hepgHqSVuc8HDO+VrzuMmA3tfAZWffk5fgjmQ1qZA8B1F8u7nicLnyFscszOnTvRpk0bfPLJJ+jXr5/1/gMPPIAPP/wQ//73vx3HN9ZzlJ+fj7KyMmRlZbkfYHUIeDUbGFYGpCbg+1NDLHP1WObqsczVY5mrl8AyD4VCyM7Ojqr9F9dzlJOTg0AggN27dzve3717N1q1atXg+GAwiGAwqCo8IiIiEk5cP2FaWhp69OiBxYsXW++Fw2EsXrzY0ZNEREREFA9xPUcAMH78eIwcORI9e/ZE7969MXXqVJSXl1ur14iIiIjiJTI5Gj58OPbu3YuHH34YpaWl6Nq1KxYtWtRgkjYRERFRrEQmRwAwduxYjB07VncYRERE1MSIm3NERERElEhMjoiIiIhsmBwRERER2TA5IiIiIrJhckRERERkw+SIiIiIyIbJEREREZENkyMiIiIiGyZHRERERDZMjoiIiIhsmBwRERER2TA5IiIiIrJhckRERERkw+SIiIiIyIbJEREREZFNiu4AVKutrQUAbN++HVlZWe7/gJpDwPcAduwAUkLuf39qiGWuHstcPZa5eixz9RJY5qFQ3fcz84Dj8RmGYbj605Pcp59+it69e+sOg4iIiDRYtWoVevXqddxjPJccHThwAM2bN0dJSUlieo6qQ8CCfODGEiA1Ad+fGmKZq8cyV49lrh7LXL0ElnkoFEJ+fj7279+P008//bjHem5YLRAIAACysrISlBwBOAVAVhZPJlVY5uqxzNVjmavHMldPQZmbecDxcEI2ERERkQ2TIyIiIiIbJkdERERENkyOiIiIiGyYHBERERHZMDkiIiIismFyRERERGTD5IiIiIjIhskRERERkQ2TIyIiIiIbJkdERERENkyOiIiIiGyYHBERERHZMDkiIiIismFyRERERGQjLjmaMmUKevXqhczMTOTm5uKGG27Apk2bdIdFRERETYS45OjDDz9EQUEBVq5ciffeew/V1dUYNGgQysvLdYdGRERETUCK7gBitWjRIsffZ82ahdzcXKxevRpXXHGFpqiIiIioqRDXc3S0srIyAEDz5s01R0JERERNgbieI7twOIz77rsPl156KTp16tToMZWVlaisrLT+HgqFVIVHREREAonuOSooKMC6deswZ86cYx4zZcoUZGdnW1/5+fkKIyQiIiJpxCZHY8eOxcKFC7FkyRK0bdv2mMcVFhairKzM+iopKVEYJREREUkjbljNMAyMGzcOCxYswNKlS3HWWWcd9/hgMIhgMKgoOiIiIpJOXHJUUFCAl19+GW+++SYyMzNRWloKAMjOzkZGRobm6IiIiEg6ccNq06dPR1lZGfr374/WrVtbX3PnztUdGhERETUB4nqODMPQHQIRERE1YeJ6joiIiIgSickRERERkQ2TIyIiIiIbcXOOkllNbRg11bXwh1OQpjsYj6kx/KiprgVQqzsUT/DVhMENMtQLGz5UsZ6rU12LdN0xkBZMjlz03JItmPr+ZtzW/B5M1h2Mh3y1uxz/tf5lhL74RHconvLr3Ftxv+4gPORwZQ2u2fg8tv+R9Vyla7IKMUN3EKQch9Vc5IMPAGDUv5IaxdsPIVTbTHcYnrPscHfdIXjKN/sqsL26le4wPGfpoR66QyAN2HPkIn99TsTNBtQK1xd4/3NPx3O399YbjAcs2bgH415Zy3qumFnP87KD+Nf4/lpj8YJdBytw9V+W8WbXo5gcuchnJUfskFPJqG+mUwI+NAuySidaRmoAAGAYbDRUMvd48/vAeq7AKfVlzOTIm9iKu8hXnx1xn0q1zDtqv48XMRUixczyVon1XC1fI38i72By5KJIzxFPJpXMZJSlroZZz8MscS2YG6nh4zQJT2Ny5CJzQjYbDbXMYTU2GmpYPaSs50qZw2osdTXMHrqwwWbSi/i/7iI/e460MDjcoJRZyhw+VovDampZ9VxrFKQLkyMXWd2wvNNQisNqarHnSA+rkWaxq8GbXU9jK+6iyD5HpFLY4LCaSmYxh3n5UIrDampFrues517E/3UXcUK2HmYy6mN2pASHdfTgsJpaflsxGxxD9hwmRy4yG2dOyFaLw2pq8SZAL+ZGathvtpgbeQ+TIxdFJqry6qWSfXM8SjzWcz3CrOdK2YuZuZH3MDlykXnRYs+RWhxWU4s9pHoYnJGtlM8xrKYvDtKDyZGLIo0zL14qcVhNLQ6r6RG5CdAahmfYb7bCzI48h8mRi7jPkR7WajXWZiW4/4seHFZTy9FzpC8M0oTNiZusHVV59VIp0nPEclfBuqNmPVfKqufsOlLCMeeI2ZHnMDlyUeSOmhcvlSJLnPXG4RWRuXW8fOjAaq6GMwllduQ1vLq5yM+dgzXhJpAq8YGcenBYTS17OYdZ2T2HyZGL+LRyPTisphpvAnQwOCNbKfv1hMNq3sPkyEXWqcS5GEqFrbkYeuPwCq5W04PDx2o5J2QzO/IaJkcu8nP/Fy0MDqsp5efCAy34bDV92HPkPUyO3MQ7ai34zCm1fI38iRKPm52q5Xfsc6QxENKCyZGLOCFbD24CqRYnZOthcFhNKWcOytruNUyOXGSeSxxuUI3Dair5OCFbCw6rqcV9jryNyZGLOFFVDw6rqWWtyjR4+VCJj1ZTyz58ydzIe3h1cxEbZz14V6cWh9X04E2AWs59jljbvYbJkYsi+xyxWFXi9i9qcVhNDw6rqeXoOWJu5DlsxROAjYZakZ2DWe4qcPhYD4M9R9owN/IeJkcu4v4venC1mlrWqkzWc6XYQ6qedSPA7MhzmBy5iHfUehh85pRSrOd68CZAPb+VHDE78homRy6K7HNEKnFzPLXMUmY9V8scPmY9Vycyv468hsmRi6xGg0ucleJNnVrsOdKDw2rqcVjNu9iKu4hLnPUIc1hNKbPngqsy1eKwmnrsJfUuXt1c5OPjQ7TgsJpakR5SrWF4jsFVmcpZNwKs7J7D5MhF1uNDWKxK8ZlTakWSUBa4ShxWU4/Dat7FVtxFPk7I1oKb46kVGWpgiasUmZCtORAPYVF7F5MjF0WWfbJYVeIdtVrWfl5sOpSKzDliuasS6TniLa/XsBV3ESdk62E+c4pzjtSINBgsb5V4E6BeZGNfzYGQckyOXMQJ2XpwWE0PthdqcVWmelyt5l1Jlxx9//33yM3NxbfffhvT526++WY8/fTTiQkqStaEbN5RKxXpOdIbh1fwAcuacCm/ehxW86yEXN1GjRoFn89nfbVo0QLXXHMNPv/88xN+dvLkybj++uvRvn17rF69Gj6fDytXrmz02B/96Ef46U9/CgB46KGHMHnyZJSVlbn6u8SCPUd6cYmzGn6uVtOCW1aoZ+2QzdzIcxJ263fNNddg165d2LVrFxYvXoyUlBRcd911x/3MkSNHMHPmTIwZMwYA0KNHD3Tp0gVFRUXWMcuWLcPQoUORm5uLDz74ABdeeCEAoFOnTujQoQP+8Y9/JOpXOiE/76i14OZ4anFunR5craZeZJGN3jhIvYS14sFgEK1atUKrVq3QtWtXTJgwASUlJdi7d+8xP/POO+8gGAyib9++1ntjxozB3LlzceTIEQBAeXk5unTpggEDBgAAunXrZh07dOhQzJkzJ0G/0YlxFYkefOaUWpG7aZa3SrwJUC9yI8DsyGuUdHEcPnwY//jHP3DOOeegRYsWxzxu+fLl6NGjh+O92267DZWVlZg/fz4AYMiQIXjsscewatUqAEAgELCO7d27N1atWoXKysoE/BYnxmdO6cFVPGpF5hyxwFUKW5udstxV4W7w3pWw5GjhwoVo1qwZmjVrhszMTLz11luYO3cu/P5j/8ht27YhLy/P8V7z5s1x4403OobWlixZ0uiE7by8PFRVVaG0tNS13yMWVqPBO2qleEetFm8C9OBNgHrc2Ne7EpYcDRgwAMXFxSguLsaqVaswePBgDBkyBNu2bTvmZyoqKpCent7g/TvvvBPLli3D119/DQAoKirClVde2eC4jIwMALCG4ACgsrISoVDI8ZUo1nADGw2lrCXOXOOsRKSec26dUtyyQrnIDa/eOEi9hF3dTj31VJxzzjk455xz0KtXL7zwwgsoLy/H888/f8zP5OTk4MCBAw3e/9GPfoR27dph1qxZCIVCeP31161J23b79+8HAJxxxhnWe1OmTEF2drb1lZ+f78Jv1zg/76j1YM+RUvaeCy5xVofDaupFhtVYz71G2a2fz+eD3+9HRUXFMY/p1q0b1q9f3+B9v9+P0aNHY/bs2Xj55ZeRlpaG//qv/2pw3Lp169C2bVvk5ORY7xUWFqKsrMz6KikpcecXaoTVBcthNaW4OZ5a9saZbYY6VlGznivDYTXvSlhyVFlZidLSUpSWlmLDhg0YN24cDh8+jKFDhx7zM4MHD8aXX37ZaO/R6NGjsWPHDjz44IO45ZZbrCE0u+XLl2PQoEGO94LBILKyshxficK5GHpEGg2Wuwr2UmajoY7BpfzKcUK2dyUsOVq0aBFat26N1q1bo0+fPvj000/x6quvon///sf8TOfOndG9e3fMmzevwb+1a9cOAwcOxIEDB3DZZZehuLgYALB161YUFxfjq6++whtvvIG77747Qb/RiUX2OeLVSyVOyFbLOaymLw6v4bCaepF9jljRvSYlEd901qxZmDVrVlyfffjhh/G73/0Od999d4OVbe+++y6WLl1q7XEEAOPHjwcA9OnTB71793bskaQeJ2TrwGE1tez7eXH/F3V4E6Aeh9W8KyHJ0cm49tprsXnzZuzYsaPRydP9+/dvNIt/4YUXcPnll6sI8Zg4rKYHlzir5bPds3AVjzqGdRPAiq4Kh9W8K+mSIwC47777Yv7MXXfd5X4gMTIvWtznSK3IHTXLXQXHnCM2GsrwJkADPirHs7hRiYt8jfyJEs/gsJpSzse0sNlQhYmoepEbXha+1zA5cpGf49NacImzWuw50oNz69TjsJp3MTlyUeSZUyxWlbiKRy17OXPOkTqRYTXWc1VY1N7FVjwBuAmkWlzFo5ZjKT/7SZVhPVePO2R7F5MjF1nj07x8KWU20LzLU49thjqcW6deZM6R5kBIOSZHLuJSfj0MDqsp5ew5IlU4rKYBV6t5FpMjF/GapQeHG9RyPluNzYYqZu8FrzPqcFjNu5gcuSjSBctiVSlsPXOKrYYKXK2mh/VsNc1xeImPPUeexVbcRdZdhtYovIeb46llT0JZ19XhsJp61vYsrOiew+TIRT5rQjaLVSUOq6nFniM9InPr9MbhJRxW8y624i7ihGw9+MwptezFzJ2D1eGwmnocVvMuJkcu4m6qenBYTS0Oq+nBYTUdOKzmVUyOXBR5fAiLVaUw76iVs+6o2Wgow9Vq6plDmNznyHvYiruIXbB6GGw0lGNRq8dhNfUi13Re1b2GyZGLIj1HvHypxOEG9fi0cvX4DEH1fFyt5llMjhIgzGerKcWnlavHYTV9mBupw6L2LiZHLuJqNU24lF857umlHofV1IvMOWJN9xomRy7ihGw9OKymgdVzxEZDlciEbNZzZTis5llsxV3ECdl6cBWPenxauXrcskI9bs/iXUyOXOSz9sTg1UslDjeox7JWj/VcPd7weheTIxdZ49O8fCnFVTzq+TisphzruXpmSXPOkfcwOXITJ2RrweEG9cxeUg6rqcd6ro6fXUeexeTIRZyQrYk53MBGQxk/2wzluGWFesyNvIutuIucTyvn6aQKhxs04LCacpGiZj1XJTIhm/Xca5gcucjxQE6eS8qwqNXz8YGcynH4WAM+W82zmBy5yN7dzZNJnXCYw2qqcYds9Tispl5kqgR5DZMjF/ls3d18UKE6ZklzWE2dyJwj1nNVIg9YZj1XhcNq3sXkyE22axbPJXWsRkNvGJ7CzfE0YD1XjhOyvYvJkYs4rKaHweEG5XwcblCOw2rqcW6ddzE5cpGzu5tnkyp8tpp6Pk5UVS6yWI31XBU/59Z5FpMjF7HnSA9euNTjXAz1IltW6I3DUzi3zrOYHLnIMSGb55IyHG5Qj8Nq6vHZaupxWM27mBy5yN7bzTsNdTisph4nZKvHfY7U4/CxdzE5cpGPw2paGBxuUC4yF4MVXZVIPWdFV4VbVngXkyMXcVhNDw43qMdhNfVYz9XzRSYdkccwOXKR84aOZ5MqHFZTj8Nq6vHRaupxnyPvYnLkInt3N4fV1DHLmrmRQmw0lOMDltUzSzrMuwDPYXLkIscuRzyXlOFwg3pmA81GQx3uBK+eNXzMau45TI5c5JyQzbNJFT5zSj0Oq6kX2Qme9VwVDqt5F5MjF9kbZ55M6kQePKs1DE9h+6wel/Krx5sA72Jy5DLrToMnkzIcVlOPO2Srx2E19SI9R6znXsPkyGXc/0W9MIfVlIvMOdIciIeYQ/Ws5+r4OefIs5gcuczabl5zHF7C4QYNOBdDOdZz9Tis5l1MjlzGYTX1OKymHofV1OOwmgYcVvMsJkcuizyLhyeTKnysgnpcxaMeV6upx54j72Jy5DIOq6nH4Qb1OBdDPdZz9Ti3zrvEJkfTpk1D+/btkZ6ejj59+mDVqlW6QwJgn5CtNw4vCVt31JoD8RAOq6kXmZCtORAPYQ+pd4lMjubOnYvx48dj0qRJWLNmDbp06YLBgwdjz549ukOzzTni6aRKZC4GWw1V2GioxzlH6lllzeu556ToDiAezzzzDO6++26MHj0aADBjxgy8/fbbKCoqwoQJE7TGZjbQX++rwBEjpDUWr6gNs9VQr66wv9v/AzaWsp6rUF5VC4BL+VUyy3r3oSrWc1Wqy4GKM3Fu2EBAYxjikqOqqiqsXr0ahYWF1nt+vx8DBw7EihUrGhxfWVmJyspK6++hUGIruDm0M/p/v0zoz6GGOKymjlnWD761BcAWrbF4Deu5OmYe+vzHO/D8xzv0BuMp0/BldRinBvVFIC452rdvH2pra9GyZUvH+y1btsTGjRsbHD9lyhQ8+uijqsLDrb1a47WVXwDpuRA6ailQGBdiJc5sfpnuQDxjWPeWmP6vTxFObwXWc1XCaFmzAb3O7KM7EM8Y2vkMrPryc/wQzAfruSph4Ic92ufWiUuOYlVYWIjx48dbfw+FQsjPz0/czxt8FgpDXYFhZUBqVsJ+DtlUh4BXBwP++3RH4hmj+7XB6O0Xsp6rZNbzzNG6I/GMAR2b46ML7mI9V6k6BLyaDaSVaQ1DXHKUk5ODQCCA3bt3O97fvXs3WrVq1eD4YDCIYFBj3xwRERGJIq6fMC0tDT169MDixYut98LhMBYvXox+/fppjIyIiIiaAnE9RwAwfvx4jBw5Ej179kTv3r0xdepUlJeXW6vXiIiIiOIlMjkaPnw49u7di4cffhilpaXo2rUrFi1a1GCSNhEREVGsRCZHADB27FiMHTtWdxhERETUxIibc0RERESUSEyOiIiIiGyYHBERERHZMDkiIiIismFyRERERGTD5IiIiIjIhskRERERkQ2TIyIiIiIbJkdERERENkyOiIiIiGyYHBERERHZMDkiIiIismFyRERERGTD5IiIiIjIhskRERERkU2K7gBUq62tBQBs374dWVlZ7v+AmkPA9wB27ABSQu5/f2qIZa4ey1w9lrl6LHP1EljmoVDd9zPzgOPxGYZhuPrTk9ynn36K3r176w6DiIiINFi1ahV69ep13GM8lxwdOHAAzZs3R0lJSWJ6jqpDwIJ84MYSIDUB358aYpmrxzJXj2WuHstcvQSWeSgUQn5+Pvbv34/TTz/9uMd6blgtEAgAALKyshKUHAE4BUBWFk8mVVjm6rHM1WOZq8cyV09BmZt5wPFwQjYRERGRDZMjIiIiIhsmR0QalZb9gA27uAqGmrbQD9VYvW0/PDbFlQRjckSkUd8pizHkv5dj+4EjukMhSpjr/ucj/Gz6CvxzXanuUIiiwuSIKAl8tfuQ7hCIEua7/XXJP5MjkoLJEZEm9iGGYMqJV08QSRdMYZNDMrCmEmlSWRO2/sxGg7yA9ZykYE0l0qSiKrKFPXuOyAtYz0kKJkdEmlRUR5Ijn09jIESKBFPZ5JAMrKlEmvxgS47CXOJMHpAaYJNDMrCmEmlSG44kRGHmRuQBfvaQkhBMjog0qTXsyRGzI2r6fGB2RDIwOSLSxN5zxJ2Dqamy123OrSMpmBwRaRKOrOQHcyNqquw3AcyNSAomR0SaOIfVNAZClEC17DkigcQlR1OmTEGvXr2QmZmJ3Nxc3HDDDdi0aZPusIhiFuacI/IAVm2SSFxy9OGHH6KgoAArV67Ee++9h+rqagwaNAjl5eW6QyOKSTjM5EgXzvFSxzGsxq4jpVjP45eiO4BYLVq0yPH3WbNmITc3F6tXr8YVV1yhKSr5DMPAK6tKcF6rTPQ483Td4XiCc0K2xkA85q7Zn2HHwQr839hLkcJ9dxKulpVbiz+/uwnzPivBW2MvQ6vsdN3hiCP+ylBWVgYAaN68ueZIZPtoyz48uOAL/Gz6J7pD8Qwu5VevNmzg/Q27sWFXCOt3hXSH4wnhMOcc6fDcki3Yc6gSf1v2je5QRBLXc2QXDodx33334dJLL0WnTp0aPaayshKVlZXW30MhXhAbs2XPYd0heI59tRonZKtRXlVj/TnFL/7eUATnajVmR6qxczQ+ooutoKAA69atw5w5c455zJQpU5CdnW195efnK4xQDsmXrNqwgd3V8noO2XOk3uEfIsmRtF4MwzBQWt1C3DwSez03ICv2piAtRXQzr43YUhs7diwWLlyIJUuWoG3btsc8rrCwEGVlZdZXSUmJwihlknbx/csH29Bnw9/x2trdukOJSZibQCp3xNZzVFUTPs6RyeedL/eh74bZeOLdrbpDiQn389KLz7OLj7hSMwwDY8eOxYIFC/DBBx/grLPOOu7xwWAQWVlZji9qKGB76FGlsEbjuQ/rEt7fvP6V5khi43i2mqwiF6u6NlLmVbWyCn32v3cCAJ7/eIfmSGLj6CHl+LFyLPL4iJtzVFBQgJdffhlvvvkmMjMzUVpaCgDIzs5GRkaG5ujksne9HqmqRXpqQGM03sB9jtSzJ6TSeo6kJtCOHlKNcXiJY5sQZkdxEddzNH36dJSVlaF///5o3bq19TV37lzdoYlmb5sra2r1BeIhYe6QrZw9OZJWz1MCwiZJ1eNNgHo1tnpew4tLXMT1HHFuRmLUCL6jlqrWMReD9VoFyfU81S8zOXIMH7OaK2Ev81qpXY6aies5osSw39FVC5uLIZVzFQ+p4Ow5klXPA0KTI/u1hTcBatTYEiL2HMWHyREBAGrsE1VreDKpEHbc3bHMVbCX8w/VHFZTwX6vxXquhr2zyH5tp+gxOSIAR01UZc+RErWcqKqc5J4j+7CapB4Y1nP1nD1Hsup5shA350iC7ypbIuNwFc44PXIRM4zIhcF6z/p7ZHO0xq55R29Wd7zrov3YE10/zWMNw5kQHWtYzTAMGEZdN3nYiH5DN5XX8aqasJhJn/bGWVJjZ2cYBnyoawCP/h0MRP7vDRgnrNux1Ndojmvs2Apbb5G958is22bc9vftnP9mfz/xz8mz71ez93AlstJTE/ODXGYvcynn5tFOVM/rjnG3np/o2OMdd6QqUuaV1c7rjLPewvFvjb9vP17B8yCrw0A4FcH6MtfFZ0i9KscpFAohOzsbZWVlCdnz6GDZ9+j35FJUGLIf9HdqWgBVteG6JKg+GaLE+cvwLrix27E3M0061SEU/mUi5h28BoBP7HBJZjAFlbVhcZOzpbrnirPx4I8v0B1G9KpDeHH67Zhc+gv4fM59siTJzkjFD9W1qKoNi9mI88uHLsGpzdx9CHos7T97jly2ac8R8YkRAJRXyZqPIZ20nu8dB3/AnP2DzP5OzdHE71BlzYkPItdI23OnptbAtD03iZ/UXFZRrTsEcZgcuWzb9xUAgFZZaXj7V1cAAHz1/Z9mF6HPZ3sAo8/+HhzHNzb85rN9zHfUeJv9ePu/RHOcz+fDtu/L8cLyreh/3hm4uO1pSE/1w+/zwedD3SvqXv31wdpjPpGjY3DLonWl+O2r/wEAPHfT+bj8gnbw+xL389w2Ztan+PfW/eLSiw2l5TDgR86pqVj4qysQTKmrKw34Gq+z9jp4dL0GnP9/R3f3N3bMiY7z2d4PVVRj2pItOCe3GS4/9wykp/qRluJ3PIjWef6Y79ne9Tn/reFn3K1/3+4rx3XPfgQA+FX/fIy54gL4/XLq+Z8WbcTfV2wTV893H6rEvpq63ovlDwzAKWmBxh9YfNR1/ETX8JOp50d/32PV85raMP627BukBPy4tnNrnJIWQDDFj4Df16BNMmOve6/xSn30OXqs2E5adQhY0BanpO1y/3vHgMmRy77d/wMA4OrzW6BFs6DmaGJzUV42/jK8q+4wYtL81Mi8i+yMFGRnyJiHYTo1WHcKSpuLYc6XOvuMDLTKltVT2iyYgsk3dtYdRkxaNEuz/twsmILsU2TV82bC63lWegrym5+iOZrYPXDN+bpDiJ0/BQhUaH8yNFeruexgffdli1NlXbyksj/mROI+MGbI0qb+mY1GkE/8ViLDVs+lJRgArF5FaaH/UG3Wc3nXFjo5vLK5zNxTgk9CVsOeHAnMjaxuaWlTGpgcqWWv5xL3rTHPTWmJHeu5d/F/3GXmaoY03mkokZ4iu+fIjFhao2HeUaez0VDC3jhXCUyOYN0EyIqdyZF38X/cZeYeQSkCG2qJ0lMjVbjRCcFJTupwg9VopPISooJ94qvElVOR4WO9ccSqsv5pAUyOvIf/4y4zL1xSt/qXRvyco/ozkHOOKFoSn33oFzp8bG4Ums6bAM/h/7jLrGE1zjlSwt44y0uNJM85qguYw2rqSdyIkAsPSBr+j7vMvHBxWE0Nx0RVaRkG7HfUsmJno6GPxJ4jn9h6zmE1r+L/uMvMC1cqh9WUsCdHEh+YG5mQrTWMmJnJEVdlqiex58hnrVbTG0esWM+9i//jLjN7L3gyqWGfZyR5ibO04QazB4A9pOrJrOcyFx4YVj3XHAgpx/9yl1Vb+xyx0VCtWTBw4oOSjNxGo+6VuZF6bU6TtfM+IPkmoO5V4kpYOjlMjlxmLeVncqTM0z/tiHG5c9C1babuUGImdS6GGa+UZ3s1BS+P7ow7WizEL6/I1x1KzKTOrYvUc82BkHJMjlxWG+Zwg2o/69YSv2n1D5ENtdS5GGH2HCl3ydmn4Y9tZuCUNHk9pCa59ZwV3WuYHLnMvDHiqUTRkPpYBTNeP7MjioLUniNzGJDV3HuYHLnMPPUl9mKQelLvSI36hYFsNCga1pwjvWHEjD1H3sXkiEgja86RsPEGzjmiWJg9jPImZNfXc7aUnsP/cpcJO/dJMz/nHJEHRG4CNAcSI/YceReTI5cZ4OoGip5P+pwj1nOKQmSzU1n1nHOOvIvJkcs4IZtiYe1zpDmOWBm8o6YYSK3n7DnyLiZHCcK5GBSNyCaQspoN7v9CsZC7CSR7jryKyZHLZJ36pJvcYbW6V95RUzQiS/k1BxIj1nPvYnLkNg6rUQzkNxp64yAZpN4EcM6RdzE5cllknyOtYZAQ8ieqsqLTifmE3wRwmoT3MDlKEJ5KFA2/0N3xIo2G3jhIBrlzjupe2XPkPUyOXCbt5Ce9pA43hNlzRDGILDzQHEiMWM+9i8mRy/j4EIoF5xyRF0i9CTBYzz2LyZHLhJ37pJnUB89yzhHFQuqDZ/mYHO9icpQgPJcoGj5IHW6oe2U1p2hEeo70xhErzq3zLiZHLhN27pNmUieqWthoUBSsHkZWcxKCyZHLzEaOJxNFQ+oSZ0NqK0daSB8+Ju9hcuQyTsimWEidi2FiLado+KTXc17PPYfJUYLwVKJo+IXOxRDaxpEmUldlCguXXMTkyG08mygGPuFzjnhHTdEwa4nYeq47AFKOyZHL+PgQioVP6OZ4wsIlzfz1LY20eiPtvCT3MDlyGSdkUyw454i8QP6cI90RkGpMjhKEww0UDc45Ii+wbgLCmgMhihKTI5exzaBYyJ9zpDsCksCsJmJ7jnQHQMqJTY42bdqEVq1a4dChQzF97qqrrkpQRHWEnvukidRhNe5zRLGQ+uBZ8q6Yk6OSkhLceeedyMvLQ1paGs4880z8+te/xvfff+84rn379pg6dWqDzz/yyCPo2rUrgLqhp+N9PfLII8eMo7CwEOPGjUNmZiZee+01BAIB7Nixo9Fjzz33XIwfPx4A8MADDwAAwgnq3+WEbIqFNSFbcxxEiWTtBC+spkvt0aWTF1Ny9M0336Bnz57YvHkzXnnlFWzZsgUzZszA4sWL0a9fP+zfvz+mH75r1y7ra+rUqcjKynK899vf/rbBZ5YtW4aBAwdiwYIFeOihh/DGG2/gJz/5CVq0aIHZs2c3evyWLVswZswYAMDVV18NAHjvvfdiijVWzI0oGlLnHJltHOs5RUPqTvAm3ux6T0zJUUFBAdLS0vCvf/0LV155Jdq1a4chQ4bg/fffx44dOzBx4sSYfnirVq2sr+zsbPh8Psd7zZo1a/CZ8vJyAECHDh2s91JTUzFixAjMmjWrwfFFRUXo06cPLrroIgBAIBAAAMyfPz+mWKPFOw2KhdRhNaJYiH18iO4ASJuok6P9+/fj3Xffxb333ouMjAzHv7Vq1Qq33XYb5s6dm/DkYMiQITj11FOtHiDTmDFjsHnzZixbtsx67/Dhw5g/f77Va2S3YsWKhMTHx4dQLKROyGY9p1hI3c8rgvXca6JOjjZv3gzDMHDBBRc0+u8XXHABDhw4gL1797oW3LFs27YNeXl5jvcuvPBC9O3bF0VFRdZ78+bNg2EYuPnmmxt8j+3btydm3hGHGygG8hsNohPzS70JkBUuuSjmCdnJULkrKiqQnp7e4P0777wT8+fPt1awFRUV4ac//SkMw0AoFLK+gLrfo7KyMmEx8oaaoiF2uIE3ARQDzjkiaaJOjs455xz4fD5s2LCh0X/fsGEDTj/9dJxxxhkAgKysLJSVlTU47uDBg8jOzo4z3Do5OTk4cOBAg/fNHqJ58+Zh8+bN+Pjjj5GSkoLs7GzrKz8/HwBwyimnNBgedIPQc580kfpATqJYiL0J0B0AaRN1ctSiRQtcffXV+Otf/4qKigrHv5WWluKll17C8OHDrTuE8847D6tXr27wfdasWYOOHTueVNDdunXD+vXrG7yfmZmJYcOGoaioCC+++CI6duyIGTNmoKyszPoqKSkBAFx88cUnFcOx8PEhFAuxww3mH1jRKQrS9zliNfeemIbVnnvuOVRWVmLw4MFYtmwZSkpKsGjRIlx99dVo06YNJk+ebB17//334+2338bkyZOxYcMGrFu3DhMnTsSKFSvw61//+qSCHjx48DEnVI8ZMwaffPIJZsyYgTvvvBPBYBBZWVmOLyBxm0FynyOKhQ/sOaKmzye150hYvOSemJKjc889F5999hnOPvts3HTTTejQoQPuueceDBgwACtWrEDz5s2tYy+55BL885//xD//+U9ceuml6N+/Pz755BMsXrwYnTp1ijvgw4cPo3Xr1lal3bp1K4qLi/Hdd98BAC677DKcd955CIVCuOOOOxp8fufOnQCA22+/Pe4YouHjvQZFQexqNfaQUgzE9xyxontOSqwfOPPMMxvdT6gxgwYNwqBBg6I6dtSoURg1atQJj/vss88wYMAA6+/mztcjR4604tq4ceMxPz9jxgwAQJs2baKKK1ZST37Sg3OOyAvE9hzpDoC0Efdstf79+8MwDFRXV+Pxxx9HKBSCYRhRJ2zmhPFE4VwMioW//gyU2mhwnyOKhvSbAI4EeI+45MiUkpKCiRMnIjMzM6bPjRs3LkER1eESZ4qF9OEGomhE6jkrOskgNjlKdryhplhI6zkiioXYYTVZ4ZKLmBy5TNpTp0kvqT1H7CGlWFhbVugNI2682fUeJkduMxsNnk0UBT54lrzA2iFb6qQj8hwmRy6zJqpqjYKkiGwCqTeOWHE/L4qF1B5SE6u59zA5ShA2GhQNqXMxiGJhXg6l1XNh4ZKLmBy5jCcTxcIndVjN3ASSNwEUBfFL+VnPPYfJkcvMCdk8lyga1nCD5jiIEsnaCV5YTZcWL7mHyZHLDE7IphhEnlauN45YRebWsZ7Tifn9snuOeLvrPUyOiDTi5njkBZGFB7LqubBwyUVMjlzGc4liInRCdqSHVG8cJIPZwyi154j13HuYHLmMjQbFQvoSZ6JoSO05Iu9icuQyTsimWEifc0QUDZ/Q1WrCwiUXMTlKEE7IpmhwzhF5gd92OZRY13k19x4mR26Td96TRlI3gZTYwJE+ftvNoqTeI1Zz72Jy5DI+PoRiwYmq5AX2eiLtRgBgPfciJkcu44RsioXUiarCwiXN7NMMJNUdbgLpXUyOEoS5EUXD3BxPUoNhx00gKRp+8T1HrOdew+TIZbzToFj4pc450h0AieKX2nMkKFZyF5Mjl/HxIRQLqUucTazmFA3nhGx5lZ3V3HuYHLlM3mlPOpkXXWkNhrBwSTOxE7IFhUruYnKUILyjpmjI3SGbm51S9OzXQ0lV3Vp9zIruOUyOXCavkSOdpG8CyUaDouGYcxTWGEicWM29h8lRgvBkomhENoHUG0eshOZypInUOUdSb1ro5DE5cpH9ROIdNUXDb03IlnUR5manFAupS/mtSHlB9xwmRwnC/V8oGlJ7jkxclUnR8Al9fIiJtdx7mBy5SNANESWJyHCDrMrDuk6xMqu6pL3gWM+9i8mRi+znEW+oKRp+4T1HRNGSuDKTq9W8i8mRixxzjjTGQXL4xM45ql/Kz4pOUZK6Gzx5E5MjF7HniGJlzTkS1nXE9o1iZc7DlFTVzRteXs69h8kRkUYShxrs2GhQtCTeCHBYzbuYHLnI2cDxbKIT81uTVGWJNBqs5xQdP+sKCcLkyEX2VRi8DlA0pO5zJC6bI+1EzjkyHyTOm13PYXLkIvs5z1OJouGvbzFqBA012LGeU7Qk13Xe7HoPkyMijVIDdVfd6tqwqEcVyImUkkVaoK65qa6V83A11nPvYnKUILzToGgEAwEAdb2OvKOmpiwtpa65qaoRlBxxtZpnMTlykXNYjacTnZjZYABAJRsNasKC9XVdUj0n72Jy5CJOyKZY2ZMjUXfUugMgcUT2HJl/4PXcc5gcEWkU8PuQUj9RVVKjYeJSfoqWyOSIq9U8i8mRi7hajeIhudEgipY5IZvDaiQBkyMX8fEhFA8rOaqt1RxJ9JgbUawi9VxOcsQdsr2LyZGLnEuxeTZRdCTfUbPRoGilpdStzJTYQ8pq7j1MjlzEu2mKh8xhNa5Wo9gEBdZz8i4mRwnCO2qKlsjkSHcAJE6knksaPq6/CeD13HOYHLmIE7IpHuawmqS5GCauVqNoBSXWc65W8ywmR26yJ0c8lyhK1uZ41RIbDaLopEms5+RZTI5cZHCwgeIgcRUPUawk1nOuVvMuscnRtGnT0L59e6Snp6NPnz5YtWqV7pAc2A1L0QpKXMVT/8pGg6JlDR9Lque83/UskcnR3LlzMX78eEyaNAlr1qxBly5dMHjwYOzZs0drXAaH1SgOIidkc7UaxSiYKnjLCt0BkHIpugOIxzPPPIO7774bo0ePBgDMmDEDb7/9NoqKijBhwgRtce07XGn9mScTRcu8o175zfc4s8UpSE8NwF+fXaem+OCDD2HDiOy54nO+Ase/wz1Won6iu+KjP2fvDd0Vqjr+h4mOkhao6yEtLjmIf3/zPdJTAwj46+p2it+PlIAPteH46/nRx9rF8jl7Pd+0u9x8kzxGXHJUVVWF1atXo7Cw0HrP7/dj4MCBWLFiRYPjKysrUVkZSVpCoVDCYvvfldsS9r2p6erYshkWfQm8vnYHXl+7Q3c4MeFqNYpWx5bNANQlR8P/tlJzNETHJy452rdvH2pra9GyZUvH+y1btsTGjRsbHD9lyhQ8+uijSmKzNxNsMyhaP7+yA/6zvQwfbdmHtIAfwVQ/UgN+BHw+1ITrhiB8vrr7WfMGuO5O2IC91jVW5xreMZ/4M8f+XJ3KmjAO/VBzol+LyOGaTq1wW592eG3NdoTDQHqqH2kpdXW9JmygNmzA7/PB74u9nkeOtf6Go7t7ov9cndqwgQNHqus+y64jzxGXHMWqsLAQ48ePt/4eCoWQn5+fkJ9lv4vmHTVF69RgCmbf2Vt3GFFbvGE3xsz+THcYJIzP58PkGztj8o2ddYcSlZ0HK3DJkx8A4M2uF4lLjnJychAIBLB7927H+7t370arVq0aHB8MBhEMBpXExhOIvMDvO/FdPJF0flZuTxO3Wi0tLQ09evTA4sWLrffC4TAWL16Mfv36aYyMXa/kDWwzyAv8jkna5DXieo4AYPz48Rg5ciR69uyJ3r17Y+rUqSgvL7dWr+nCRoO8wNFzpDEOokTi1AhvE5kcDR8+HHv37sXDDz+M0tJSdO3aFYsWLWowSVs1P88l8oCAn3PrqOkL8ILuaSKTIwAYO3Ysxo4dqzsMBzYU5AWs5uQF9tyIG2V7j7g5R8mMbQZ5AYfVyAvsN7thPkfEc5gcuYktBXkAV6uRFzhG1ZgbeQ6TIxdx6Sd5AadikBf4HT1HGgMhLZgcuYhtBnmB389hNWr67BOyOazmPUyOXMSOI/ICDquRF/g4IdvTmBy5iJtAkhdwWI28wH4TwI4j72Fy5CLeRZMXOFersdJT0+RMjpgdeQ2TIxdxnyPyAsfCA1Z5aqLsPaSckO09TI5cxHaCvMDPqwZ5APc58jZe5lzEjiPyAm4CSV7D1Mh7mBy5iPMvyAscTytnlScPYMeR9zA5chFX8ZAXcG4deQ0nZHsPkyMXsc0gLwg49jlipaemjxOyvYfJkYvYUJAXcM4ReQ1zI+9hckREMeE9AHlNmF1HnpOiOwDVzLHjUCjk+veuPHIY4cojke+f6vqPoMZUh4AjAFjmSpQfrrDq+eHDhxAKZWiOyCNYz5Uz63n54cMJaTOoEQms5+b/YTRzyHyGx2aabd++Hfn5+brDICIiIg1KSkrQtm3b4x7jueQoHA5j586dyMzMTMgcoVAohPz8fJSUlCArK8v1708NsczVY5mrxzJXj2WuXiLL3DAMHDp0CHl5efCfYDdbzw2r+f3+E2aMbsjKyuLJpBjLXD2WuXosc/VY5uolqsyzs7OjOo4TsomIiIhsmBwRERER2TA5clkwGMSkSZMQDAZ1h+IZLHP1WObqsczVY5mrlyxl7rkJ2URERETHw54jIiIiIhsmR0REREQ2TI6IiIiIbJgcEREREdkwOYrRtGnT0L59e6Snp6NPnz5YtWrVcY9/9dVXcf755yM9PR2dO3fGO++8oyjSpiWWcn/++edx+eWX4/TTT8fpp5+OgQMHnvD/iRqKta6b5syZA5/PhxtuuCGxATZBsZb5wYMHUVBQgNatWyMYDKJjx468xsQo1jKfOnUqzjvvPGRkZCA/Px/3338/fvjhB0XRyrds2TIMHToUeXl58Pl8eOONN074maVLl6J79+4IBoM455xzMGvWrITHCYOiNmfOHCMtLc0oKioyvvzyS+Puu+82TjvtNGP37t2NHv/xxx8bgUDA+NOf/mSsX7/eeOihh4zU1FTjiy++UBy5bLGW+6233mpMmzbNWLt2rbFhwwZj1KhRRnZ2trF9+3bFkcsVa5mbtm7darRp08a4/PLLjeuvv15NsE1ErGVeWVlp9OzZ0/jxj39sfPTRR8bWrVuNpUuXGsXFxYojlyvWMn/ppZeMYDBovPTSS8bWrVuNd99912jdurVx//33K45crnfeeceYOHGi8frrrxsAjAULFhz3+G+++cY45ZRTjPHjxxvr1683nn32WSMQCBiLFi1KaJxMjmLQu3dvo6CgwPp7bW2tkZeXZ0yZMqXR42+66Sbj2muvdbzXp08f4+c//3lC42xqYi33o9XU1BiZmZnG7NmzExVikxNPmdfU1BiXXHKJ8cILLxgjR45kchSjWMt8+vTpxtlnn21UVVWpCrHJibXMCwoKjKuuusrx3vjx441LL700oXE2VdEkRw888IBx0UUXOd4bPny4MXjw4ARGZhgcVotSVVUVVq9ejYEDB1rv+f1+DBw4ECtWrGj0MytWrHAcDwCDBw8+5vHUUDzlfrQjR46guroazZs3T1SYTUq8Zf7HP/4Rubm5GDNmjIowm5R4yvytt95Cv379UFBQgJYtW6JTp0544oknUFtbqyps0eIp80suuQSrV6+2ht6++eYbvPPOO/jxj3+sJGYv0tWOeu7Bs/Hat28famtr0bJlS8f7LVu2xMaNGxv9TGlpaaPHl5aWJizOpiaecj/a73//e+Tl5TU4wahx8ZT5Rx99hJkzZ6K4uFhBhE1PPGX+zTff4IMPPsBtt92Gd955B1u2bMG9996L6upqTJo0SUXYosVT5rfeeiv27duHyy67DIZhoKamBr/4xS/w4IMPqgjZk47VjoZCIVRUVCAjIyMhP5c9R9SkPfnkk5gzZw4WLFiA9PR03eE0SYcOHcKIESPw/PPPIycnR3c4nhEOh5Gbm4u//e1v6NGjB4YPH46JEydixowZukNrspYuXYonnngCf/3rX7FmzRq8/vrrePvtt/HYY4/pDo1cxp6jKOXk5CAQCGD37t2O93fv3o1WrVo1+plWrVrFdDw1FE+5m/785z/jySefxPvvv4+LL744kWE2KbGW+ddff41vv/0WQ4cOtd4Lh8MAgJSUFGzatAkdOnRIbNDCxVPPW7dujdTUVAQCAeu9Cy64AKWlpaiqqkJaWlpCY5YunjL/wx/+gBEjRuCuu+4CAHTu3Bnl5eW45557MHHiRPj97G9w27Ha0aysrIT1GgHsOYpaWloaevTogcWLF1vvhcNhLF68GP369Wv0M/369XMcDwDvvffeMY+nhuIpdwD405/+hMceewyLFi1Cz549VYTaZMRa5ueffz6++OILFBcXW18/+clPMGDAABQXFyM/P19l+CLFU88vvfRSbNmyxUpEAeCrr75C69atmRhFIZ4yP3LkSIMEyExODT6mNCG0taMJne7dxMyZM8cIBoPGrFmzjPXr1xv33HOPcdpppxmlpaWGYRjGiBEjjAkTJljHf/zxx0ZKSorx5z//2diwYYMxadIkLuWPQ6zl/uSTTxppaWnG/PnzjV27dllfhw4d0vUriBNrmR+Nq9ViF2uZf/fdd0ZmZqYxduxYY9OmTcbChQuN3Nxc4/HHH9f1K4gTa5lPmjTJyMzMNF555RXjm2++Mf71r38ZHTp0MG666SZdv4I4hw4dMtauXWusXbvWAGA888wzxtq1a41t27YZhmEYEyZMMEaMGGEdby7l/93vfmds2LDBmDZtGpfyJ6Nnn33WaNeunZGWlmb07t3bWLlypfVvV155pTFy5EjH8fPmzTM6duxopKWlGRdddJHx9ttvK464aYil3M8880wDQIOvSZMmqQ9csFjruh2To/jEWuaffPKJ0adPHyMYDBpnn322MXnyZKOmpkZx1LLFUubV1dXGI488YnTo0MFIT0838vPzjXvvvdc4cOCA+sCFWrJkSaPXZ7OcR44caVx55ZUNPtO1a1cjLS3NOPvss40XX3wx4XH6DIN9gUREREQmzjkiIiIismFyRERERGTD5IiIiIjIhskRERERkQ2TIyIiIiIbJkdERERENkyOiIiIiGyYHBEREVFCLFu2DEOHDkVeXh58Ph/eeOONhP682tpa/OEPf8BZZ52FjIwMdOjQAY899ljMj3dhckRESW3UqFG44YYbtP38ESNG4Iknnoj6+H379iE3Nxfbt29PYFREMpSXl6NLly6YNm2akp/31FNPYfr06XjuueewYcMGPPXUU/jTn/6EZ599Nqbvwx2yiUgbn8933H+fNGkS7r//fhiGgdNOO01NUDb/+c9/cNVVV2Hbtm1o1qwZAGDr1q2YOHEili5div379yMnJwc9evTAU089hfPPPx8A8Nvf/hYHDhzAzJkzlcdMlKx8Ph8WLFjguNmprKzExIkT8corr+DgwYPo1KkTnnrqKfTv3z+un3HdddehZcuWjnPvZz/7GTIyMvCPf/wj6u/DniMi0mbXrl3W19SpU5GVleV477e//S2ys7O1JEYA8Oyzz2LYsGFWYlRdXY2rr74aZWVleP3117Fp0ybMnTsXnTt3xsGDB63PjR49Gi+99BL279+vJW4iKcaOHYsVK1Zgzpw5+PzzzzFs2DBcc8012Lx5c1zf75JLLsHixYvx1VdfAai7wfnoo48wZMiQ2L5Rwp/eRkQUhRdffNHIzs5u8P7RD7G98sorjbFjxxq//vWvjdNOO83Izc01/va3vxmHDx82Ro0aZTRr1szo0KGD8c477zi+zxdffGFcc801xqmnnmrk5uYat99+u7F3795jxlNTU2NkZ2cbCxcutN4znyT+7bffnvD3Oeuss4wXXnjhxL84kUcAMBYsWGD9fdu2bUYgEDB27NjhOO5HP/qRUVhYGNfPqK2tNX7/+98bPp/PSElJMXw+n/HEE0/E/H3Yc0RE4syePRs5OTlYtWoVxo0bh1/+8pcYNmwYLrnkEqxZswaDBg3CiBEjcOTIEQDAwYMHcdVVV6Fbt2747LPPsGjRIuzevRs33XTTMX/G559/jrKyMvTs2dN674wzzoDf78f8+fNRW1t73Bh79+6N5cuXu/MLEzVBX3zxBWpra9GxY0c0a9bM+vrwww/x9ddfAwA2btwIn8933K8JEyZY33PevHl46aWX8PLLL2PNmjWYPXs2/vznP2P27NkxxZbi6m9KRKRAly5d8NBDDwEACgsL8eSTTyInJwd33303AODhhx/G9OnT8fnnn6Nv37547rnn0K1bN8fE6qKiIuTn5+Orr75Cx44dG/yMbdu2IRAIIDc313qvTZs2+J//+R888MADePTRR9GzZ08MGDAAt912G84++2zH5/Py8rB27dpE/PpETcLhw4cRCASwevVqBAIBx7+ZQ9lnn302NmzYcNzv06JFC+vPv/vd7zBhwgTcfPPNAIDOnTtj27ZtmDJlCkaOHBl1bEyOiEiciy++2PpzIBBAixYt0LlzZ+u9li1bAgD27NkDoG7ewZIlS6wLrt3XX3/daHJUUVGBYDDYYNJ4QUEB7rjjDixduhQrV67Eq6++iieeeAJvvfUWrr76auu4jIwMq+eKiBrq1q0bamtrsWfPHlx++eWNHpOWlmYtdIjGkSNH4Pc7B8UCgQDC4XBMsTE5IiJxUlNTHX/3+XyO98yExrwgHj58GEOHDsVTTz3V4Hu1bt260Z+Rk5ODI0eOoKqqCmlpaY5/y8zMxNChQzF06FA8/vjjGDx4MB5//HFHcrR//36cccYZ8f2CRE3E4cOHsWXLFuvvW7duRXFxMZo3b46OHTvitttuwx133IGnn34a3bp1w969e7F48WJcfPHFuPbaa2P+eUOHDsXkyZPRrl07XHTRRVi7di2eeeYZ3HnnnTF9HyZHRNTkde/eHa+99hrat2+PlJToLntdu3YFAKxfv976c2N8Ph/OP/98fPLJJ473161bF/dyZKKm4rPPPsOAAQOsv48fPx4AMHLkSMyaNQsvvvgiHn/8cfzmN7/Bjh07kJOTg759++K6666L6+c9++yz+MMf/oB7770Xe/bsQV5eHn7+85/j4Ycfjun7cEI2ETV5BQUF2L9/P2655RZ8+umn+Prrr/Huu+9i9OjRx5xYfcYZZ6B79+746KOPrPeKi4tx/fXXY/78+Vi/fj22bNmCmTNnoqioCNdff7113JEjR7B69WoMGjQo4b8bUTLr378/DMNo8DVr1iwAdb3Ajz76KLZu3Yqqqirs3LkTr7/+umOYPBaZmZmYOnUqtm3bhoqKCnz99dd4/PHHG/T+ngiTIyJq8vLy8vDxxx+jtrYWgwYNQufOnXHffffhtNNOazA/we6uu+7CSy+9ZP29bdu2aN++PR599FH06dMH3bt3x3//93/j0UcfxcSJE63j3nzzTbRr1+6Y8yiIKLlxh2wiomOoqKjAeeedh7lz56Jfv35Rf65v37741a9+hVtvvTWB0RFRorDniIjoGDIyMvD3v/8d+/bti/oz+/btw09/+lPccsstCYyMiBKJPUdERERENuw5IiIiIrJhckRERERkw+SIiIiIyIbJEREREZENkyMiIiIiGyZHRERERDZMjoiIiIhsmBwRERER2TA5IiIiIrL5/zFhpvPZdtOIAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pwr()\n",
    "\n",
    "# Create inputs and output.\n",
    "a, b, out = Net(\"A\"), Net(\"B\"), Net(\"OUT\")\n",
    "\n",
    "# Create two square waves: a at 500 MHz and b at 250 MHz.\n",
    "cntgen(a, b)\n",
    "\n",
    "# Create a NAND gate and connect its I/O to the nets.\n",
    "nand()[\"a, b, out\"] += a, b, out\n",
    "\n",
    "# Perform a transient analysis.\n",
    "waveforms = do_trans(step_time=0.01@u_ns, end_time=10@u_ns)\n",
    "oscope(waveforms, a, b, out)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The NAND gate output only goes low when both inputs are high, as expected. Ho hum."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## One or the Other: the XOR Gate"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Continuing on, here is the last combinational gate I'll do: the exclusive-OR. There's nothing really new here that you haven't already seen with the NAND gate, just more of it."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "![XOR gate](https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2Fthumb%2Ff%2Ffa%2FCMOS_XOR_Gate.svg%2F1280px-CMOS_XOR_Gate.svg.png&f=1&nofb=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:54:16.028292Z",
     "start_time": "2021-04-30T19:54:16.005662Z"
    }
   },
   "outputs": [],
   "source": [
    "@subcircuit\n",
    "def xor():\n",
    "\n",
    "    # Create inputs and output.\n",
    "    a, b, out = Net() * 3\n",
    "\n",
    "    # Create eight transistors: four NFETs and four PFETs.\n",
    "    qn_a, qn_ab, qn_b, qn_bb = nfet(4)\n",
    "    qp_a, qp_ab, qp_b, qp_bb = pfet(4)\n",
    "    \n",
    "    # Connect the substrates of the transistors.\n",
    "    vdd & qp_a.b & qp_ab.b & qp_b.b & qp_bb.b\n",
    "    gnd & qn_a.b & qn_ab.b & qn_b.b & qn_bb.b\n",
    "    \n",
    "    # Create the two parallel \"legs\" of series PFETs-NFETs with a\n",
    "    # common output node in the middle.\n",
    "    vdd & qp_ab[\"s,d\"] & qp_b[\"s,d\"] & out & qn_a[\"d,s\"] & qn_b[\"d,s\"] & gnd\n",
    "    vdd & qp_a[\"s,d\"] & qp_bb[\"s,d\"] & out & qn_ab[\"d,s\"] & qn_bb[\"d,s\"] & gnd\n",
    "    \n",
    "    # Create two inverters to get the complements of both inputs.\n",
    "    ab, bb = inverter(), inverter()\n",
    "    ab.a += a\n",
    "    bb.a += b\n",
    "\n",
    "    # Attach the two inputs and their complements to the transistor gates.\n",
    "    a      & qp_a.g  & qn_a.g\n",
    "    ab.out & qp_ab.g & qn_ab.g\n",
    "    b      & qp_b.g  & qn_b.g\n",
    "    bb.out & qp_bb.g & qn_bb.g\n",
    "\n",
    "    return Interface(a=a, b=b, out=out)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:54:48.159865Z",
     "start_time": "2021-04-30T19:54:16.030512Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO: No errors or warnings found while generating netlist.\n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkcAAAIfCAYAAAB6nnhtAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAABnBklEQVR4nO3deXzU1b0//tfMJJkESMISAkSiCIobCAiCuFSwCFpLte11lwKiXQxclbYWipV6XdDe6pd7lcKvFoReF0AU9aLFhYq4wEWBFJFFUMSwhJ1MCCHLzOf3R/LZskBm+Mw58555PR+PPJIMM8nJ4cznvM95n3M+PsMwDBARERERAMCvuwBEREREiYTBEREREZEDgyMiIiIiBwZHRERERA4MjoiIiIgcGBwREREROTA4IiIiInJgcERERETkkKa7AKpFIhHs3r0b2dnZ8Pl8uotDREREChiGgfLychQUFMDvP/HcUMoFR7t370ZhYaHuYhAREZEGJSUl6Nq16wmfk3LBUXZ2NoC6ysnJyfH+F9SEgMWFwI9LgPQ4/HxqjHWuHutcPda5eqxz9eJY56FQCIWFhVYccCIpFxyZqbScnJw4BUcAWgHIyeGbSRXWuXqsc/VY5+qxztVTUOctWVLDBdlEREREDgyOiIiIiBwYHBERERE5MDgiIiIicmBwREREROTA4IiIiIjIgcERERERkQODIyIiIiIHBkdEREREDgyOiIiIiBwYHBERERE5MDgiIiIicmBwREREROTA4IiIiIjIgcERERERkYO44GjatGm4+OKLkZ2djfz8fNxwww3YsmWL7mIRERFRkhAXHH344YcoKirCqlWr8N5776GmpgbDhw9HRUWF7qIRERFREkjTXYBoLV261PX93LlzkZ+fjzVr1uB73/ueplIRERFRshA3c9RQWVkZAKB9+/aaS0JERETJQNzMkVMkEsF9992Hyy67DL169WryOVVVVaiqqrK+D4VCqopHREREAomeOSoqKsKGDRswf/78Zp8zbdo05ObmWh+FhYUKS0hERETSiA2Oxo8fjyVLluCDDz5A165dm33e5MmTUVZWZn2UlJQoLCURERFJIy6tZhgGJkyYgMWLF2P58uU488wzT/j8YDCIYDCoqHREREQknbjgqKioCC+99BLeeOMNZGdno7S0FACQm5uLrKwszaUjIiIi6cSl1WbO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q/OAH/i3/l11FyNqP+6Tj607vkJNsADS6tznA26+uFB3MaI2sndHrP5yPY4HCyGtzgHghxfKu54nCp8hbHHM7t27cdppp+HTTz/F4MGDrccfeOABfPjhh/i///s/1/ObmjkqLCxEWVkZcnJyvC9gTQh4JRe4sQxIj8PPp8ZY5+qxztVjnavHOlcvjnUeCoWQm5vbov5f3MxRXl4eAoEA9u7d63p879696Ny5c6PnB4NBBINBVcUjIiIi4cTNE2ZkZKB///5YtmyZ9VgkEsGyZctcM0lEREREsRA3cwQAEydOxOjRozFgwAAMHDgQ06dPR0VFhbV7jYiIiChWIoOjm2++Gfv378dDDz2E0tJS9O3bF0uXLm20SJuIiIgoWiKDIwAYP348xo8fr7sYRERElGTErTkiIiIiiicGR0REREQODI6IiIiIHBgcERERETkwOCIiIiJyYHBERERE5MDgiIiIiMiBwRERERGRA4MjIiIiIgcGR0REREQODI6IiIiIHBgcERERETkwOCIiIiJyYHBERERE5MDgiIiIiMghTXcBVAuHwwCAnTt3Iicnx/tfUFsOHASwaxeQFvL+51NjrHP1WOfqsc7VY52rF8c6D4Xqfp4ZB5yIzzAMw9PfnuA+++wzDBw4UHcxiIiISIPVq1fj4osvPuFzUi44Onz4MNq3b4+SkpL4zBzVhIDFhcCPS4D0OPx8aox1rh7rXD3WuXqsc/XiWOehUAiFhYU4dOgQ2rVrd8LnplxaLRAIAABycnLiFBwBaAUgJ4dvJlVY5+qxztVjnavHOldPQZ2bccCJcEE2ERERkQODIyIiIiIHBkdEREREDgyOiIiIiBwYHBERERE5MDgiIiIicmBwREREROTA4IiIiIjIgcERERERkQODIyIiIiIHBkdEREREDgyOiIiIiBwYHBERERE5MDgiIiIicmBwREREROQgLjiaNm0aLr74YmRnZyM/Px833HADtmzZortYRERElCTEBUcffvghioqKsGrVKrz33nuoqanB8OHDUVFRobtoRERElATSdBcgWkuXLnV9P3fuXOTn52PNmjX43ve+p6lURERElCzEzRw1VFZWBgBo37695pIQERFRMhA3c+QUiURw33334bLLLkOvXr2afE5VVRWqqqqs70OhkKriERERkUCiZ46KioqwYcMGzJ8/v9nnTJs2Dbm5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YcGCBTh27BgAoKKiAn369MHQoUMBAP369bOeO3LkSMyfPz9Of9HJcReJHrznlFr2aJr1rRIHAerZAwFGR6lGyRTH0aNH8cILL+Css85Chw4dmn3eRx99hP79+7seu/3221FVVYVFixYBAK699lo88sgjWL16NQAgEAhYzx04cCBWr16NqqqqOPwVJ8d7TunBXTxq2WuOWOEqRazDTlnvqvA0+NQVt+BoyZIlaNOmDdq0aYPs7Gy8+eabWLBgAfz+5n/ljh07UFBQ4Hqsffv2+PGPf+xKrX3wwQdNLtguKChAdXU1SktLPfs7omF1GhxRK8URtVocBOjBQYB6PNg3dcUtOBo6dCiKi4tRXFyM1atXY8SIEbj22muxY8eOZl9TWVmJzMzMRo/feeedWLFiBb7++msAwJw5c3DllVc2el5WVhYAWCk4AKiqqkIoFHJ9xIuVbmCnoZS1xZl7nJWw2znX1inFIyuUswe8estB6sXt6ta6dWucddZZOOuss3DxxRfjb3/7GyoqKvDcc881+5q8vDwcPny40ePf//73cfrpp2Pu3LkIhUJ47bXXrEXbTocOHQIAdOzY0Xps2rRpyM3NtT4KCws9+Oua5ueIWg/OHCnlnLngFmd1mFZTz06rsZ2nGmVDP5/PB7/fj8rKymaf069fP2zcuLHR436/H2PHjsW8efPw0ksvISMjA//2b//W6HkbNmxA165dkZeXZz02efJklJWVWR8lJSXe/EFNsKZgmVZTiofjqeXsnNlnqGNVNdu5Mkyrpa64BUdVVVUoLS1FaWkpNm3ahAkTJuDo0aMYOXJks68ZMWIEvvzyyyZnj8aOHYtdu3bh97//PW699VYrheb00UcfYfjw4a7HgsEgcnJyXB/xwrUYetidButdBWcts9NQx+BWfuW4IDt1xS04Wrp0Kbp06YIuXbpg0KBB+Oyzz/DKK69gyJAhzb6md+/euOiii7Bw4cJG/3b66adj2LBhOHz4MC6//HIUFxcDALZv347i4mJ89dVXeP3113H33XfH6S86OfucI169VOKCbLXcaTV95Ug1TKupZ59zxIaeatLi8UPnzp2LuXPnxvTahx56CL/97W9x9913N9rZ9s4772D58uXWGUcAMHHiRADAoEGDMHDgQNcZSepxQbYOTKup5TzPi+e/qMNBgHpMq6WuuARHp+K6667D1q1b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xrp164x169YZAIynn37aWLdunbFjxw7DMAxj0qRJxqhRo6znm1v5f/vb3xqbNm0yZsyYwa38ieiZZ54xTj/9dCMjI8MYOHCgsWrVKuvfrrzySmP06NGu5y9cuNDo2bOnkZGRYVxwwQXGW2+9pbjEySGaej/jjDMMAI0+pk6dqr7ggkXb1p0YHMUm2jr/9NNPjUGDBhnBYNDo3r278dhjjxm1tbWKSy1bNHVeU1Nj/PGPfzR69OhhZGZmGoWFhcY999xjHD58WH3Bhfrggw+avD6b9Tx69GjjyiuvbPSavn37GhkZGUb37t2N559/Pu7l9BkG5wKJiIiITFxzREREROTA4IiIiIjIgcERERERkQODIyIiIiIHBkdEREREDgyOiIiIiBwYHBERERE5MDgiIiKiuFixYgVGjhyJgoIC+Hw+vP7663H9feFwGH/4wx9w5plnIisrCz169MAjjzwS9e1dGBwRUUIbM2YMbrjhBm2/f9SoUXj88cdb/PwDBw4gPz8fO3fujGOpiGSoqKhAnz59MGPGDCW/78knn8TMmTPx7LPPYtOmTXjyySfxpz/9Cc8880xUP4cnZBORNj6f74T/PnXqVNx///0wDANt27ZVUyiHf/3rX7jqqquwY8cOtGnTBgCwfft2TJkyBcuXL8ehQ4eQl5eH/v3748knn8S5554LAPjNb36Dw4cPY/bs2crLTJSofD4fFi9e7BrsVFVVYcqUKXj55Zdx5MgR9OrVC08++SSGDBkS0+/44Q9/iE6dOrneez/96U+RlZWFF154ocU/hzNHRKTNnj17rI/p06cjJyfH9dhvfvMb5ObmagmMAOCZZ57BjTfeaAVGNTU1uPrqq1FWVobXXnsNW7ZswYIFC9C7d28cOXLEet3YsWPx4osv4tChQ1rKTSTF+PHjsXLlSsyfPx/r16/HjTfeiGuuuQZbt26N6eddeumlWLZsGb766isAdQOcjz/+GNdee210Pyjud28jImqB559/3sjNzW30eMOb2F555ZXG+PHjjXvvvddo27atkZ+fb/z1r381jh49aowZM8Zo06aN0aNHD+Ptt992/ZwvvvjCuOaaa4zWrVsb+fn5xh133GHs37+/2fLU1tYaubm5xpIlS6zHzDuJf/vttyf9e84880zjb3/728n/cKIUAcBYvHix9f2OHTuMQCBg7Nq1y/W873//+8bkyZNj+h3hcNj43e9+Z/h8PiMtLc3w+XzG448/HvXP4cwREYkzb9485OXlYfXq1ZgwYQJ+9atf4cYbb8Sll16KtWvXYvjw4Rg1ahSOHTsGADhy5Aiuuuoq9OvXD59//jmWLl2KvXv34qabbmr2d6xfvx5lZWUYMGCA9VjHjh3h9/uxaNEihMPhE5Zx4MCB+Oijj7z5g4mS0BdffIFwOIyePXuiTZs21seHH36Ir7/+GgCwefNm+Hy+E35MmjTJ+pkLFy7Eiy++iJdeeglr167FvHnz8Oc//xnz5s2Lqmxpnv6lREQK9OnTBw8++CAAYPLkyXjiiSeQl5eHu+++GwDw0EMPYebMmVi/fj0uueQSPPvss+jXr59rYfWcOXNQWFiIr776Cj179mz0O3bs2IFAIID8/HzrsdNOOw3//d//jQceeAAPP/wwBgwYgKFDh+L2229H9+7dXa8vKCjAunXr4vHnEyWFo0ePIhAIYM2aNQgEAq5/M1PZ3bt3x6ZNm074czp06GB9/dvf/haTJk3CLbfcAgDo3bs3duzYgWnTpmH06NEtLhuDIyIS58ILL7S+DgQC6NChA3r37m091qlTJwDAvn37ANStO/jggw+sC67T119/3WRwVFlZiWAw2GjReFFREX72s59h+fLlWLVqFV555RU8/vjjePPNN3H11Vdbz8vKyrJmroiosX79+iEcDmPfvn244oormnxORkaGtdGhJY4dOwa/350UCwQCiEQiUZWNwRERiZOenu763ufzuR4zAxrzgnj06FGMHDkSTz75ZKOf1aVLlyZ/R15eHo4dO4bq6mpkZGS4/i07OxsjR47EyJEj8eijj2LEiBF49NFHXcHRoUOH0LFjx9j+QKIkcfToUWzbts36fvv27SguLkb79u3Rs2dP3H777fjZz36Gp556Cv369cP+/fuxbNkyXHjhhbjuuuui/n0jR47EY489htNPPx0XXHAB1q1bh6effhp33nlnVD+HwRERJb2LLroIr776Krp164a0tJZd9vr27QsA2Lhxo/V1U3w+H84991x8+umnrsc3bNgQ83ZkomTx+eefY+jQodb3EydOBACMHj0ac+fOxfPPP49HH30Uv/71r7Fr1y7k5eXhkksuwQ9/+MOYft8zzzyDP/zhD7jnnnuwb98+FBQU4Be/+AUeeuihqH4OF2QTUdIrKirCoUOHcOutt+Kzzz7D119/jXfeeQdjx45tdmF1x44dcdFFF+Hjjz+2HisuLsb111+PRYsWYePGjdi2bRtmz56NOXPm4Prrr7eed+zYMaxZswbDhw+P+99GlMiGDBkCwzAafcydOxdA3Szwww8/jO3bt6O6uhq7d+/Ga6+95kqTRyM7OxvTp0/Hjh07UFlZia+//hqPPvpoo9nfk2FwRERJr6CgAJ988gnC4TCGDx+O3r1747777kPbtm0brU9wuuuuu/Diiy9a33ft2hXdunXDww8/jEGDBuGiiy7Cf/3Xf+Hhhx/GlClTrOe98cYbOP3005tdR0FEiY0nZBMRNaOyshLnnHMOFixYgMGDB7f4dZdccgn+/d//HbfddlscS0dE8cKZIyKiZmRlZeHvf/87Dhw40OLXHDhwAD/5yU9w6623xrFkRBRPnDkiIiIicuDMEREREZEDgyMiIiIiBwZHRERERA4MjoiIiIgcGBwREREROTA4IiIiInJgcERERETkwOCIiIiIyIHBEREREZHD/w8VQOUKbsBmwwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pwr()\n",
    "\n",
    "a, b, out = Net(\"A\"), Net(\"B\"), Net(\"OUT\")\n",
    "cntgen(a, b)\n",
    "\n",
    "xor()[\"a, b, out\"] += a, b, out\n",
    "\n",
    "waveforms = do_trans(step_time=0.01@u_ns, end_time=10@u_ns)\n",
    "oscope(waveforms, a, b, out)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The output only goes high when the inputs have opposite values, so the XOR gate is working correctly."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## No, It's Not a Snake: The Adder"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Finally I've reached the level of abstraction where individual transistors aren't needed. I can use the gates I've already built to construct new stuff, like this [full-adder bit](https://www.geeksforgeeks.org/full-adder-in-digital-logic/):"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "![Full adder bit](https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Ftse4.mm.bing.net%2Fth%3Fid%3DOIP.hv1H5z95bT2f_llqtxYglQHaEt%26pid%3DApi&f=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:54:48.180543Z",
     "start_time": "2021-04-30T19:54:48.161296Z"
    }
   },
   "outputs": [],
   "source": [
    "@subcircuit\n",
    "def full_adder():\n",
    "\n",
    "    # Create inputs and output.    \n",
    "    a, b, cin, s, cout = Net() * 5\n",
    "\n",
    "    # Use two XOR gates to compute the sum bit.\n",
    "    ab_sum = Net()  # Net to carry the intermediate result of a+b.\n",
    "    xor()[\"a,b,out\"] += a, b, ab_sum    # Compute ab_sum=a+b\n",
    "    xor()[\"a,b,out\"] += ab_sum, cin, s  # Compute s=a+b+cin\n",
    "    \n",
    "    # Through the magic of DeMorgan's Theorem, the AND-OR carry circuit\n",
    "    # can be done using three NAND gates.\n",
    "    nand1, nand2, nand3 = nand(), nand(), nand()\n",
    "    nand1[\"a,b\"] += ab_sum, cin\n",
    "    nand2[\"a,b\"] += a, b\n",
    "    nand3[\"a,b,out\"] += nand1.out, nand2.out, cout\n",
    "\n",
    "    return Interface(a=a, b=b, cin=cin, s=s, cout=cout)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "I'll use a `cntgen()` with three outputs to apply all eight input combinations to the full-adder:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:55:21.093469Z",
     "start_time": "2021-04-30T19:54:48.181998Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO: No errors or warnings found while generating netlist.\n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 5 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pwr()\n",
    "\n",
    "# Generate nets for the inputs and outputs.\n",
    "a, b, cin, s, cout = Net(\"A\"), Net(\"B\"), Net(\"CIN\"), Net(\"S\"), Net(\"COUT\")\n",
    "\n",
    "# Drive the A, B and CIN full-adder inputs with all eight combinations.\n",
    "cntgen(a, b, cin)\n",
    "\n",
    "# Connect the I/O nets to the full-adder.\n",
    "full_adder()[\"a, b, cin, s, cout\"] += a, b, cin, s, cout\n",
    "\n",
    "# Do a transient analysis.\n",
    "waveforms = do_trans(step_time=0.01@u_ns, end_time=8@u_ns)\n",
    "oscope(waveforms, a, b, cin, s, cout)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The sum and carry-out bits of the full-adder match the truth-table for all the combinations of A, B and the carry input."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now I'll combine multiple full-adders to build a multi-bit adder:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:55:21.123092Z",
     "start_time": "2021-04-30T19:55:21.094985Z"
    }
   },
   "outputs": [],
   "source": [
    "@subcircuit\n",
    "def adder(a, b, cin, s, cout):\n",
    "    # a, b and s are multi-bit buses. The width of the adder will\n",
    "    # be determined by the length of the sum output.\n",
    "    width = len(s)\n",
    "    \n",
    "    # Create a list of full-adders equal to the width of the sum output.\n",
    "    fadds = [full_adder() for _ in range(width)]\n",
    "    \n",
    "    # Iteratively connect the full-adders to the input and output bits.\n",
    "    for i in range(width):\n",
    "        \n",
    "        # Connect the i'th full adder to the i'th bit of a, b and s.\n",
    "        fadds[i][\"a, b, s\"] += a[i], b[i], s[i]\n",
    "        \n",
    "        if i == 0:\n",
    "            # Connect the carry input to the first full-adder.\n",
    "            fadds[i].cin += cin\n",
    "        else:\n",
    "            # Connect the carry input of the rest of the full-adders\n",
    "            # to the carry output from the previous one.\n",
    "            fadds[i].cin += fadds[i-1].cout\n",
    "            \n",
    "    # Connect the carry output to the carry output from the last bit of the adder.\n",
    "    cout += fadds[-1].cout"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "I'll instantiate a two-bit adder and test it with all 32 input combinations of A$_0$, A$_1$, B$_0$, B$_1$, and C$_{in}$:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:55:56.439440Z",
     "start_time": "2021-04-30T19:55:21.126142Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO: No errors or warnings found while generating netlist.\n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "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g7re7aZ6os6ytkFtPV3goB6Rgz0Z0+nZyssd/JQzTlCwTF4/uOB7hAuvldKfyi+TdUmOf3lMuwdrvCk9flPcimEggcilXX73AB2TGu0ebOkiY3lhVNKM7P90hDiJXXUpCgrThg0b0NDQgMLCQowbNy7kZ968edqy3KxZszBmzBjcd999+OKLL/Cvf/0LTzzxBIqKimC327u9/+zZs/Hxxx93+l6SJDzwwAN44YUXsH379i6X49ra2lBeXs4c9FIPepbkuH1BdJjB1RT8cZj0yBQ3qHNbXnQ0d94Zlp41f97gpyFBJDlNEjz5DiwF8mlMPCXFa2HSM2HmtzCFpmeB1/8u+GpmuQYsYevq/3hDGajpdYWPYZUZY/2f/5N8mIJ4+eWXMXPmTGRkZHT637x587B7927s27cPVqsVGzZsgNVqxbRp03DvvffiBz/4AX75y1/2eP/CwkK8++67cDgcnf43f/58OBwOjB07FlOnTu30/7feegvDhg3DNddcw/+AjASWNtjT8jdefvOwntgyemVyW16EOtTrkclrMVTTi3P6joy1hy0dwL/zJyJb/DktTHoUQ26nb2aJwXWXLR2X/5EmU/9SFe+gridwpcj4bPwWWTW9Ef2fuL6oLxFxH6Z33nmn2/8VFBSENL6LLroI7777LtP9x4wZg1tuuQV//OMfsXTp0pD/DR06FF6vt9u0zz77bK+BMSONvtmO75Pbh0ngero+B0QfvIM6X3/OOfAYYXrXrC4cMrn9pi68R/jpebdJI0gKr7WHR5PgnfHqcRDWZHL6TYm03gVfzWlgErrFX5ffqCaTLV1ErFoC/Sl19388IikOkzH89re/RWpqKlOa8+fP44477tB27olCny8I32Cnb4u/eg+RMvUN6iIP9tS19MhtBfHL1BW4klUiv4VJT/ww7u32EVDSeA/CFWph0qGlccdhCtoqz71hQcdMSqzlmbfPjYBVizGdof0fjw+TetRXDB++G5VdctFm+PDhWLx4MVOarKws/PznP49SjrqH1wwO8M92dPm86LQwcW3M07mezucfxjmr83/yWXv89+D0J+LZmcL9nEH9Ib9jMs/6mCqTDWMCV/IrL7wydSlp/k92610gAa/yom/TC5+SxgWvkhaanEckvw8nh0xD+j9dAS36BjFpYYolAvWRv8PgXaoSuTMlErvHWInIcSysMi36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",
      "text/plain": [
       "<Figure size 640x480 with 8 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pwr()\n",
    "\n",
    "# Create the two-bit input and output buses and the carry input & output nets.\n",
    "w = 2\n",
    "a, b, cin, s, cout = Bus(\"A\",w), Bus(\"B\",w), Net(\"CIN\"), Bus(\"S\",w), Net(\"COUT\")\n",
    "\n",
    "# Drive the A0, A1, B0, B1, and CIN inputs with a five-bit counter.\n",
    "cntgen(*a, *b, cin)\n",
    "\n",
    "# Connect the I/O to an adder.\n",
    "adder(a, b, cin, s, cout)\n",
    "\n",
    "# Do a transient analysis\n",
    "waveforms = do_trans(step_time=0.01@u_ns, end_time=32@u_ns)\n",
    "oscope(waveforms, *a, *b, cin, *s, cout)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The outputs *look* like they might be correct, but I'm not going to waste my time trying to eyeball it when Python can do that. The following code subsamples the waveforms and converts them into a table of integers for the adder's inputs and outputs:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:55:56.473311Z",
     "start_time": "2021-04-30T19:55:56.440672Z"
    }
   },
   "outputs": [],
   "source": [
    "def integerize(waveforms, *nets, threshold=0.9@u_V):\n",
    "    \"\"\"\n",
    "    Convert a set of N waveforms to a stream of N-bit integer values.\n",
    "    \n",
    "    Args:\n",
    "        waveforms: Waveform data from ngspice.\n",
    "        nets: A set of nets comprising a digital word.\n",
    "        threshold: Voltage threshold for determining if a waveform value is 1 or 0.\n",
    "        \n",
    "    Returns:\n",
    "        A list of integer values, one for each sample time in the waveform data.\n",
    "    \"\"\"\n",
    "    \n",
    "    def binarize():\n",
    "        \"\"\"Convert multiple waveforms into streams of ones and zeros.\"\"\"\n",
    "        binary_vals = []\n",
    "        for net in nets:\n",
    "            binary_vals.append([v > threshold for v in waveforms[node(net)]])\n",
    "        return binary_vals\n",
    "\n",
    "    # Convert the waveforms into streams of bits, then combine the bits into integers.\n",
    "    int_vals = []\n",
    "    for bin_vector in zip(*reversed(binarize())):\n",
    "        int_vals.append(int(bytes([ord('0')+b for b in bin_vector]), base=2))\n",
    "    return int_vals\n",
    "\n",
    "def subsample(subsample_times, sample_times, *int_waveforms):\n",
    "    \"\"\"\n",
    "    Take a subset of samples from a set of integerized waveforms at a set of specific times.\n",
    "    \n",
    "    Args:\n",
    "        subsample_times: A list of times (in ascending order) at which to take subsamples.\n",
    "        sample_times: A list of times (in ascending order) for when each integerized sample was taken.\n",
    "        int_waveforms: List of integerized waveform sample lists.\n",
    "        \n",
    "    Returns:\n",
    "        A list of subsample lists.\n",
    "    \"\"\"\n",
    "    \n",
    "    # Create a list of the empty lists to hold the subsamples from each integerized waveform.\n",
    "    subsamples = [[] for _ in int_waveforms]\n",
    "    \n",
    "    # Get the first subsample time.\n",
    "    subsample_time = subsample_times.pop(0)\n",
    "    \n",
    "    # Step through the sample times, looking for the time to take a subsample.\n",
    "    for sample_time, *samples in zip(sample_times, *int_waveforms):\n",
    "        \n",
    "        # Take a subsample whenever the sample time is less than the current subsample time.\n",
    "        if sample_time > subsample_time:\n",
    "        \n",
    "            # Store a subsample from each waveform.\n",
    "            for i, v in enumerate(samples):\n",
    "                subsamples[i].append(v)\n",
    "                \n",
    "            # Get the next subsample time and break from loop if there isn't one.\n",
    "            try:\n",
    "                subsample_time = subsample_times.pop(0)\n",
    "            except IndexError:\n",
    "                break\n",
    "\n",
    "    return subsamples"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:55:56.688417Z",
     "start_time": "2021-04-30T19:55:56.474528Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>CIN</th>\n",
       "      <th>S</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    A  B  CIN  S\n",
       "0   0  0    0  0\n",
       "1   1  0    0  1\n",
       "2   2  0    0  2\n",
       "3   3  0    0  3\n",
       "4   0  1    0  1\n",
       "5   1  1    0  2\n",
       "6   2  1    0  3\n",
       "7   3  1    0  4\n",
       "8   0  2    0  2\n",
       "9   1  2    0  3\n",
       "10  2  2    0  4\n",
       "11  3  2    0  5\n",
       "12  0  3    0  3\n",
       "13  1  3    0  4\n",
       "14  2  3    0  5\n",
       "15  3  3    0  6\n",
       "16  0  0    1  1\n",
       "17  1  0    1  2\n",
       "18  2  0    1  3\n",
       "19  3  0    1  4\n",
       "20  0  1    1  2\n",
       "21  1  1    1  3\n",
       "22  2  1    1  4\n",
       "23  3  1    1  5\n",
       "24  0  2    1  3\n",
       "25  1  2    1  4\n",
       "26  2  2    1  5\n",
       "27  3  2    1  6\n",
       "28  0  3    1  4\n",
       "29  1  3    1  5\n",
       "30  2  3    1  6\n",
       "31  3  3    1  7"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Convert the waveforms for A, B, Cin, S, and Cout into lists of integers.\n",
    "a_ints = integerize(waveforms, *a)\n",
    "b_ints = integerize(waveforms, *b)\n",
    "cin_ints = integerize(waveforms, cin)\n",
    "# Combine the N-bit sum and carry-out into a single N+1-bit integer.\n",
    "s_ints = integerize(waveforms, *s, cout)\n",
    "\n",
    "# Set the subsample times just before the adder's inputs change.\n",
    "ts = [(i+0.9)@u_ns for i in range(32)]\n",
    "\n",
    "# Subsample the integerized adder waveforms.\n",
    "av, bv, cinv, sv = subsample(ts, waveforms.time, a_ints, b_ints, cin_ints, s_ints)\n",
    "\n",
    "# Display a table of the adder's inputs and corresponding output.\n",
    "pd.DataFrame({'A': av, 'B': bv, 'CIN': cinv, 'S': sv})"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "That's better, but even checking all the table entries is too much work so I'll write a little code to do that:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:55:56.705012Z",
     "start_time": "2021-04-30T19:55:56.689605Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "No errors found.\n"
     ]
    }
   ],
   "source": [
    "error_flag = False\n",
    "for a, b, cin, s in zip(av, bv, cinv, sv):\n",
    "    if a+b+cin != s:\n",
    "        print(f\"ERROR: {a}+{b}+{cin} != {s}\")\n",
    "        error_flag = True\n",
    "if not error_flag:\n",
    "    print(\"No errors found.\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "OK, at this point I'm convinced I have a working two-bit adder. And I can make any size adder I want just by changing the input and output bus widths.\n",
    "\n",
    "Onward!"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Fragments of Memory: Latches, Flip-Flops and Registers"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Cross-coupled logic gates like this [dynamic master-slave flip-flop](http://ece-research.unm.edu/jimp/vlsi/slides/chap5_2.html) are often used for storing bits:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "![Dynamic latch bit](http://ece-research.unm.edu/jimp/vlsi/slides/chap5_2-22.gif)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "A problem with this circuit is the use of NMOS FETs as pass gates for the input and feedback latch. Because I'm using 1.8V as my supply voltage, any logic-high signal passing through the NMOS FET is reduced by the approximately 0.6V threshold voltage to around 1.2V. While this is workable, it does lead to some increased propagation delay. Therefore, I built a transmission gate that parallels the NMOS FET with a PMOS FET with the gate of each being driven by complementary signals. This allows signals to pass through without being degraded by the threshold voltage.\n",
    "<a id=\"tx_gate\"/>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:55:56.724353Z",
     "start_time": "2021-04-30T19:55:56.706382Z"
    }
   },
   "outputs": [],
   "source": [
    "@subcircuit\n",
    "def tx_gate():\n",
    "    \n",
    "    # Create inputs and outputs.\n",
    "    i, g, g_b, o = Net() * 4\n",
    "\n",
    "    \"\"\"NMOS/PMOS transmission gate. When g is high and g_b is low, i and o are connected.\"\"\"\n",
    "    \n",
    "    # NMOS and PMOS transistors for passing input to output.\n",
    "    qn, qp = nfet(), pfet()\n",
    "    \n",
    "    # Transistor substrate connections.\n",
    "    gnd & qn.b\n",
    "    vdd & qp.b\n",
    "    \n",
    "    # Parallel NMOS/PMOS transistors between the input and output.\n",
    "    i & (qn[\"s,d\"] | qp[\"s,d\"]) & o\n",
    "    \n",
    "    # Connect the gate input to the NMOS and the complement of the gate input\n",
    "    # to the PMOS. Both transistors will conduct when the gate input is high,\n",
    "    # and will block the input from the output when the gate input is low.\n",
    "    g & qn.g\n",
    "    g_b & qp.g\n",
    "\n",
    "    return Interface(i=i, g=g, g_b=g_b, o=o)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The SKiDL implementation for half of this flip-flop creates a latch that allows data to enter and pass through when the write-enable is active, and then latches the data bit with a feedback gate when the write-enable is not asserted:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:55:56.744241Z",
     "start_time": "2021-04-30T19:55:56.725657Z"
    }
   },
   "outputs": [],
   "source": [
    "@subcircuit\n",
    "def latch_bit():\n",
    "\n",
    "    # Create inputs and outputs.\n",
    "    wr, wr_b, d, out_b = Net() * 4\n",
    "    \n",
    "    in_tx, fb_tx = tx_gate(), tx_gate()\n",
    "    in_inv, fb_inv = inverter(), inverter()\n",
    "    \n",
    "    # Input data comes in through the input gate, goes through an inverter to the data output.\n",
    "    d & in_tx[\"i,o\"] & in_inv[\"a, out\"] & out_b\n",
    "\n",
    "    # The data output is fed back through another inverter and transmission gate to the input inverter.  \n",
    "    out_b & fb_inv[\"a, out\"] & fb_tx[\"i,o\"] & in_inv.a  # Feed output back to input.\n",
    "    \n",
    "    # wr activates the input gate and deactivates the feedback gate, allowing data into the latch.\n",
    "    wr & in_tx.g & fb_tx.g_b\n",
    "\n",
    "    # Complement of wr deactivates the input gate and activates the feedback gate, latching the data.\n",
    "    wr_b & in_tx.g_b & fb_tx.g\n",
    "\n",
    "    return Interface(wr=wr, wr_b=wr_b, d=d, out_b=out_b)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "By cascading two of these latches, I arrive at the complete flip-flop:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:55:56.764441Z",
     "start_time": "2021-04-30T19:55:56.745465Z"
    }
   },
   "outputs": [],
   "source": [
    "@subcircuit\n",
    "def ms_ff():\n",
    "    \n",
    "    # Create inputs and output.\n",
    "    wr, d, out = Net() * 3\n",
    "    \n",
    "    # Create the master and slave latches.\n",
    "    master, slave = latch_bit(), latch_bit()\n",
    "    \n",
    "    # Data passes from the input through the master to the slave latch and then to the output.\n",
    "    d & master[\"d, out_b\"] & slave[\"d, out_b\"] & out\n",
    "    \n",
    "    # Data continually enters the master latch when the write-enable is low, but gets \n",
    "    # latched when the write-enable goes high..\n",
    "    wr & inverter()[\"a, out\"] & master.wr & slave.wr_b\n",
    "    \n",
    "    # Data from the master passes through the slave when the write-enable goes high, and\n",
    "    # this data stays stable in the slave when the write-enable goes low and new data \n",
    "    # is entering the master.\n",
    "    wr & slave.wr & master.wr_b\n",
    "\n",
    "    return Interface(wr=wr, d=d, out=out)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "A simple test shows the flip-flop retains data and the output only changes upon the rising edge of the write-enable (after a small propagation delay):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:56:29.335709Z",
     "start_time": "2021-04-30T19:55:56.765550Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO: No errors or warnings found while generating netlist.\n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "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Qjh8+LD+/wsWLMDjjz8esdp6s2bN0KxZMztCAwD84Q9/wNixY/UY/H4/hg8fjq5du+Kdd95Bbm4uDhw4gCVLluDUqVP6902cOBF9+vTBb3/7W2RmZtoUPVH8KywsxPbt2zF//nzk5eVh0aJFuPXWW7F161ZceeWVjfpZtbW1CAQCSElJiXg8NTUVa9eubVxgl5SeERGZbN68eVpGRkbU4xMmTNBuv/12/evBgwdrhYWF2tSpU7UrrrhCy87O1l555RWtqqpKu/fee7VmzZppnTp10v7+979H/JytW7dqt956q9a0aVMtOztbu/vuu7Xjx4+fN57a2lotIyMj4ir0008/1QBoX3755bduT4cOHbQ//elP377hRIrANypH+/fv11wul3bw4MGI591yyy1acXHxJf2OgQMHaoMHD9YOHjyo1dbWaq+99prmdDq1Ll26NOrnsOeIiBLOq6++iqysLGzYsAFTpkzBz372M4wdOxY33HADtmzZghEjRuAnP/kJzpw5AwA4deoUbr75ZvTq1QubNm3C0qVLcfToUdx5553n/R3//ve/UVlZib59++qPtWzZEk6nEwsXLkQgELhgjP3798eaNWvM2WAigbZu3YpAIIAuXbroVeJmzZph1apV2LNnDwBg586dcDgcF/x49NFH9Z/52muvQdM0tG7dGh6PBy+88ALuuusuOJ2NS3d4W42IEk7Pnj3x2GOPAQCKi4vxzDPPICsrC/fffz8A4PHHH8ecOXPw73//G9dffz1efPFF9OrVK6KxuqSkBPn5+fj888/RpUuXqN+xf/9+uFwuZGdn64+1bt0aL7zwAn7xi19g5syZ6Nu3L4YOHYrx48ejY8eOEd+fl5eHTz/91IrNJxKhqqoKLpcLmzdvhsvlivi30K3sjh07YseOHRf8OS1atND/v1OnTli1ahWqq6vh9XqRm5uLcePGRR2f34bJERElnB49euj/73K50KJFC3Tv3l1/LCcnBwBw7NgxAMC//vUvrFixosH+pT179jSYHJ09exYejwcOhyPi8YKCAtxzzz1YuXIl1q9fj7feegtPP/00/vrXv2L48OH681JTU/XKFRFF69WrFwKBAI4dO4Ybb7yxwee43W5069at0T+7adOmaNq0KSoqKvDBBx/gN7/5TaO+n8kRESWc5OTkiK8dDkfEY6GEJhgMAqi7Qh09ejSeffbZqJ+Vm5vb4O/IysrCmTNnUFNTA7fbHfFvaWlpGD16NEaPHo0nn3wSI0eOxJNPPhmRHJ08eRItW7a8tA0kEqKqqgq7d+/Wv963bx/KysqQmZmJLl26YPz48bjnnnvw3HPPoVevXjh+/DiWL1+OHj16YNSoUY3+fR988AE0TUPXrl2xe/duPPzww+jWrRsmTpzYqJ/D5IiIxOvduzfefvtttG/fHklJF3fau+666wAA27dv1/+/IQ6HA926dcMnn3wS8fi2bdswZMiQS4yYSIZNmzZh6NCh+tdFRUUAgAkTJqC0tBTz5s3Dk08+iZ///Oc4ePAgsrKycP311+O73/3uJf2+yspKFBcX48CBA8jMzMQPfvADPPXUU1EXVN+GDdlEJF5BQQFOnjyJu+66Cxs3bsSePXvwwQcfYOLEiedtrG7ZsiV69+4dMQS4rKwMt99+OxYuXIjt27dj9+7d+POf/4ySkhLcfvvt+vPOnDmDzZs3Y8SIEZZvG1E8GzJkCDRNi/ooLS0FUFcFnjlzJvbt24eamhocOnQI77zzTsRt8sa48847sWfPHvh8Phw+fBgvvvgiMjIyGv1zmBwRkXh5eXn4+OOPEQgEMGLECHTv3h3Tpk3DFVdcccFRLPfddx9ef/11/es2bdqgffv2mDlzJgYMGIDevXvj97//PWbOnInp06frz1u8eDHatm173j4KIopvjvq5B4iI6BvOnj2Lrl27YsGCBRg4cOBFf9/111+PBx54AD/+8Y8tjI6IrMLKERHReaSmpuIvf/kLTpw4cdHfc+LECXz/+9/HXXfdZWFkRGQlVo6IiIiIDFg5IiIiIjJgckRERERkwOSIiIiIyIDJEREREZEBkyMiIiIiAyZHRERERAZMjoiIiIgMmBwRERERGTA5IiIiIjL4/2pPDOLJ0OMPAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pwr()\n",
    "\n",
    "wr, d, out = Net('WR'), Net('D'), Net('OUT')\n",
    "cntgen(wr, d)\n",
    "\n",
    "ms_ff()[\"wr, d, out\"] += wr, d, out\n",
    "\n",
    "waveforms = do_trans(step_time=0.01@u_ns, end_time=8@u_ns)\n",
    "oscope(waveforms, wr, d, out)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Once I have a basic flip-flop, it's easy to build multi-bit registers:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:56:29.356870Z",
     "start_time": "2021-04-30T19:56:29.337092Z"
    }
   },
   "outputs": [],
   "source": [
    "@subcircuit\n",
    "def register(wr, d, out):\n",
    "\n",
    "    # Create a flip-flop for each bit in the output bus.\n",
    "    reg_bits = [ms_ff() for _ in out]\n",
    "    \n",
    "    # Connect the inputs and outputs to the flip-flops.\n",
    "    for i, rb in enumerate(reg_bits):\n",
    "        rb[\"wr, d, out\"] += wr, d[i], out[i]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## The Simplest State Machine: the Counter"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "With both an adder and a register in hand, a counter is the obvious next step:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:56:29.375097Z",
     "start_time": "2021-04-30T19:56:29.358147Z"
    }
   },
   "outputs": [],
   "source": [
    "@subcircuit\n",
    "def cntr(clk, out):\n",
    "    # Create two buses: one for the next counter value, and one that's all zero bits.\n",
    "    width = len(out)\n",
    "    nxt, zero = Bus(width), Bus(width)\n",
    "    \n",
    "    # Provide access to the global ground net.\n",
    "    global gnd\n",
    "    \n",
    "    # Connect all the zero bus bits to ground (that's why it's zero).\n",
    "    gnd += zero\n",
    "\n",
    "    # The next counter value is the current counter value plus 1. Set the\n",
    "    # adder's carry input to 1 and the b input to zero to do this.\n",
    "    adder(a=out, b=zero, cin=vdd, s=nxt, cout=Net())\n",
    "    \n",
    "    # Clock the next counter value into the register on the rising clock edge.\n",
    "    register(wr=clk, d=nxt, out=out)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now just give it a clock and watch it go!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:57:08.355434Z",
     "start_time": "2021-04-30T19:56:29.376827Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO: No errors or warnings found while generating netlist.\n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "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vBHJycnIyMhAeno6XnzxRaZrQDQNmspNjiAI/aFAirUmLM0lcha1cLzyyivRunVrLFy4MOLz8vJyfPLJJ5gyZUrE5y1btkRWVhY6deqEq6++Gt9++y0GDx6MKVOmwO/3q8dJkoSsrCy0adMGPXv2xJQpU/DTTz+hvLwc999/f4PnVVJSgjVr1uDvf/87hg8fjvbt22PQoEGYNWsWrrrqqmibF0FCQoJ67o899hi6du2Kr776qtY5Z2dn4/LLL8f/+3//D99++y2qqqrUYxYsWIBHH30UW7duRd++fbFs2TLY7XY88MADAIDvv/8e77zzDt577z1s3boVEydOxJQpU/Dzzz9j3LhxGDduHFavXo3vvvsOY8eOxbPPPotXXnkFb775JjZs2ICqqiocOXIEDz30EFwuF3766SfceOON2LlzJ1asWIGlS5eiuLgYX331VcR5mZXmMdwIouliYgeIboj1hBFGQ9ecDUfUBzoc+POf/4yFCxfi4YcfhhTys37yySfw+/2YOHHiGcvbbDbcfffduOaaa7BlyxYMGjSo3mMzMjJw4403Yv78+fD7/bDb7fUe26JFC7Ro0QJffPEFzj//fDidzmibFDXx8fHweDxn/HsgEIDP51M/GzlyJG6++WYAwXzDr7/+GiNHjsRbb72FkSNHYsaMGXjooYcwYMAAXH/99bjssstw3333AQCeeOIJrFixAk899RQSEhLQo0cPjBgxArNnz8bVV18NAMjJycGGDRvw9ddfY+LEiXjhhRewfPlybNq0CQMHDgQAvPbaa7jmmmvw9ddf49prr9X9ujQ1thwqwvg31tX5t8RYO76YNhRdM5MMPqvGxR+Q8euREuSXVkOSJMQ6JMTa7Yh12OCwS4ix2dAtqwWcjvrHEGEuFK+FpHOsix6iTZNKjw/FlV4AgMMmwW4LjmubDbDbJDgddthtfN8FS+2l2MQnB+FeydPHuCzLTWKCF7VwBIJ5c8899xx++OEHDBs2DEDQszZ+/HikpKQ0WL5Hjx4AgNzc3DMKR+XYsrIynDp1ChkZGfUe53A4sHDhQtx222148803ce655+Liiy/Gn/70p4jQOQt+vx8ffvghfv31V0ydOrXOY/bt24c333wTAwcORFJSkiow+/btqx5js9kwYsQI5OXlYdasWfjjH/+I/v374+GHHwYArFu3DjNnzoyod/To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",
      "text/plain": [
       "<Figure size 640x480 with 5 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pwr()\n",
    "\n",
    "# Generate a clock signal.\n",
    "clk = Net('clk')\n",
    "cntgen(clk)\n",
    "\n",
    "# Create a three-bit counter.\n",
    "cnt = Bus('CNT', 3)\n",
    "cntr(clk, cnt)\n",
    "\n",
    "# Simulate the counter.\n",
    "waveforms = do_trans(step_time=0.01@u_ns, end_time=30@u_ns)\n",
    "\n",
    "# In addition to the clock and counter value, also look at the power supply current.\n",
    "disp_imin, disp_imax = -3@u_mA, 3@u_mA\n",
    "oscope(waveforms, clk, *cnt, vdd_ps)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Looking at the counter bits shows its obviously incrementing 0, 1, 2, ..., 7, 0, ... The bottom trace shows the pulses of supply current on every clock edge. (Remember that whole current-pulse-during-input-transition thing?) But how much energy is being used? Multiplying the supply current by its output voltage and summing over time will answer that:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:57:08.398895Z",
     "start_time": "2021-04-30T19:57:08.358199Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Total energy = 3.259909337151121e-12 J\n"
     ]
    }
   ],
   "source": [
    "time_steps = waveforms.time[1:] - waveforms.time[0:-1]\n",
    "ps_current = -waveforms[node(vdd_ps)][0:-1] # Mult by -1 to get current FROM the + terminal of the supply.\n",
    "ps_voltage = waveforms[node(vdd)][0:-1]\n",
    "\n",
    "energy = sum(ps_current * ps_voltage * time_steps)@u_J\n",
    "print(f\"Total energy = {energy}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As for the total number of transistors in the counter ..."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:57:08.415867Z",
     "start_time": "2021-04-30T19:57:08.400391Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "V: 1\n",
      "PULSEV: 1\n",
      "sky130_fd_pr__nfet_01v8: 81\n",
      "sky130_fd_pr__pfet_01v8: 81\n"
     ]
    }
   ],
   "source": [
    "how_big()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Bonus: an ALU"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "An adder is great and all, but that's all it does: adds. Having a module that adds, subtracts, shifts, and performs logical operations is much cooler! That's an *arithmetic logic unit* (ALU).\n",
    "\n",
    "You might think building an ALU is a lot harder than building an adder, but it's not. It can all be done using an *8-to-1 multiplexer* (mux) as the basic building block:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "![8-to-1 Multiplexer](https://www.researchgate.net/profile/Senentxu_Lanceros-Mendez/publication/224311777/figure/fig4/AS:393728339529731@1470883559740/81-analog-multiplexer-circuit.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now, if you look *real hard* at the circuit above, you'll realize you can smash the sixteen legs of series NMOS/PMOS transistors into just eight legs of series transmission gates like the one I used [above](#tx_gate)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "I can build a full-adder bit from a pair of 8-to-1 muxes by passing the A, B, and C$_{in}$ inputs as the selectors, and applying the eight-bit truth-table for the S and C$_{out}$ bits to the input of each mux, respectively. Then I'll combine the full-adder bits to build a complete $N$-bit adder as before.\n",
    "\n",
    "But I can also build a subtractor, left-shifter, logical-AND, etc just by changing the truth-table bits that go to each mux. (If you're familiar with [FPGAs](https://en.wikipedia.org/wiki/Field-programmable_gate_array), the mux is essentially the same as their [look-up tables](https://electronics.stackexchange.com/questions/169532/what-is-an-lut-in-fpga).)\n",
    "\n",
    "The complete SKiDL code for an ALU is shown below. (Much easier to create, thankfully, than tediously drawing the circuit shown above.)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:57:08.446717Z",
     "start_time": "2021-04-30T19:57:08.418029Z"
    }
   },
   "outputs": [],
   "source": [
    "@subcircuit\n",
    "def mux8():\n",
    "\n",
    "    # Create 8-bit input bus, selection inputs and mux output.\n",
    "    in_, (i0, i1, i2, out) = Bus(8), Net() * 4\n",
    "\n",
    "    # Create the complements of the selection inputs.\n",
    "    i0b, i1b, i2b = Net() * 3\n",
    "    i0 & inverter()[\"a,out\"] & i0b\n",
    "    i1 & inverter()[\"a,out\"] & i1b\n",
    "    i2 & inverter()[\"a,out\"] & i2b\n",
    "\n",
    "    out_ = Net()  # Unbuffered output from the eight legs of the mux.\n",
    "\n",
    "    # Create the eight legs of the mux by nested iteration of the selection inputs\n",
    "    # and their complements. Each leg is turned on by a different combination of inputs.\n",
    "    i = 0  # Input bit / mux leg index.\n",
    "    for i2_g, i2_g_b in ((i2b, i2), (i2, i2b)):\n",
    "        for i1_g, i1_g_b in ((i1b, i1), (i1, i1b)):\n",
    "            for i0_g, i0_g_b in ((i0b, i0), (i0, i0b)):\n",
    "\n",
    "                # Place 3 transmission gates in series from input bit i to output.\n",
    "                i0_gate, i1_gate, i2_gate = tx_gate(), tx_gate(), tx_gate()\n",
    "                in_[i] & i0_gate[\"i,o\"] & i1_gate[\"i,o\"] & i2_gate[\"i,o\"] & out_\n",
    "\n",
    "                # Attach the selection inputs and their complements to the transmission gates.\n",
    "                i0_gate[\"g, g_b\"] += i0_g, i0_g_b\n",
    "                i1_gate[\"g, g_b\"] += i1_g, i1_g_b\n",
    "                i2_gate[\"g, g_b\"] += i2_g, i2_g_b\n",
    "\n",
    "                i = i+1  # Go to the next input bit.\n",
    "\n",
    "    # Run the output through two inverters to restore signal strength.\n",
    "    out_ & inverter()[\"a, out\"] & inverter()[\"a, out\"] & out\n",
    "\n",
    "    return Interface(in_=in_, i0=i0, i1=i1, i2=i2, out=out)\n",
    "\n",
    "@subcircuit\n",
    "def alu(a, b, cin, s, cout, s_opcode, c_opcode):\n",
    "    \"\"\"\n",
    "    Multi-bit ALU with the operation determined by the eight-bit codes\n",
    "    that determine the output from the sum and carry muxes.\n",
    "    \"\"\"\n",
    "\n",
    "    # Need a sum and carry mux for each bit of the ALU.\n",
    "    width = len(s)\n",
    "    s_bits = [mux8() for _ in range(width)]\n",
    "    c_bits = [mux8() for _ in range(width)]\n",
    "\n",
    "    # For each bit in the ALU...\n",
    "    for i in range(width):\n",
    "\n",
    "        # Connect truth-table bits to the sum and carry mux inputs.\n",
    "        s_bits[i].in_ += s_opcode\n",
    "        c_bits[i].in_ += c_opcode\n",
    "\n",
    "        # Connect inputs to the selector inputs of the sum and carry muxes.\n",
    "        s_bits[i][\"i0, i1\"] += a[i], b[i]\n",
    "        c_bits[i][\"i0, i1\"] += a[i], b[i]\n",
    "\n",
    "        # Connect the carry input of each ALU bit to the carry output from the previous bit.\n",
    "        if i == 0:\n",
    "            s_bits[i].i2 & cin\n",
    "            c_bits[i].i2 & cin\n",
    "        else:\n",
    "            s_bits[i].i2 & c_bits[i-1].out\n",
    "            c_bits[i].i2 & c_bits[i-1].out\n",
    "\n",
    "        # Connect the output bit of each sum mux to the ALU sum output.\n",
    "        s[i] & s_bits[i].out\n",
    "\n",
    "    # Connect the carry output from the last ALU bit.\n",
    "    cout & c_bits[-1].out"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "By setting the sum and carry opcodes appropriately, I can build a subtractor from the ALU:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:57:08.469069Z",
     "start_time": "2021-04-30T19:57:08.448599Z"
    }
   },
   "outputs": [],
   "source": [
    "@subcircuit\n",
    "def subtractor(a, b, cin, s, cout):\n",
    "    \"\"\"\n",
    "    Create a subtractor by applying the required opcodes to the ALU.\n",
    "    \"\"\"\n",
    "\n",
    "    # Set the opcodes to perform subtraction (a - b - c), so in reality the carry\n",
    "    # is actually a borrow.\n",
    "    # cin  b   a   s  cout\n",
    "    # ====================\n",
    "    #  0   0   0   0   0\n",
    "    #  0   0   1   1   0\n",
    "    #  0   1   0   1   1\n",
    "    #  0   1   1   0   0\n",
    "    #  1   0   0   1   1\n",
    "    #  1   0   1   0   0\n",
    "    #  1   1   0   0   1\n",
    "    #  1   1   1   1   1\n",
    "    one = vdd\n",
    "    zero = gnd\n",
    "    s_opcode = Bus(zero, one, one, zero, one, zero, zero, one)\n",
    "    c_opcode = Bus(zero, zero, one, zero, one, zero, one, one)\n",
    "\n",
    "    # Connect the I/O and opcodes to the ALU.\n",
    "    alu(a=a, b=b, cin=cin, s=s, cout=cout, s_opcode=s_opcode, c_opcode=c_opcode)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now I'll test the subtractor just as I did previously with the adder:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:57:52.220846Z",
     "start_time": "2021-04-30T19:57:08.470390Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO: No errors or warnings found while generating netlist.\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>CIN</th>\n",
       "      <th>S</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    A  B  CIN  S\n",
       "0   0  0    0  0\n",
       "1   1  0    0  1\n",
       "2   2  0    0  2\n",
       "3   3  0    0  3\n",
       "4   0  1    0  7\n",
       "5   1  1    0  0\n",
       "6   2  1    0  1\n",
       "7   3  1    0  2\n",
       "8   0  2    0  6\n",
       "9   1  2    0  7\n",
       "10  2  2    0  0\n",
       "11  3  2    0  1\n",
       "12  0  3    0  5\n",
       "13  1  3    0  6\n",
       "14  2  3    0  7\n",
       "15  3  3    0  0\n",
       "16  0  0    1  7\n",
       "17  1  0    1  0\n",
       "18  2  0    1  1\n",
       "19  3  0    1  2\n",
       "20  0  1    1  6\n",
       "21  1  1    1  7\n",
       "22  2  1    1  0\n",
       "23  3  1    1  1\n",
       "24  0  2    1  5\n",
       "25  1  2    1  6\n",
       "26  2  2    1  7\n",
       "27  3  2    1  0\n",
       "28  0  3    1  4\n",
       "29  1  3    1  5\n",
       "30  2  3    1  6\n",
       "31  3  3    1  7"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 8 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pwr()\n",
    "\n",
    "# Create the two-bit input and output buses and the carry input & output nets.\n",
    "w = 2\n",
    "a, b, cin, s, cout = Bus(\"A\",w), Bus(\"B\",w), Net(\"CIN\"), Bus(\"S\",w), Net(\"COUT\")\n",
    "\n",
    "# Drive the A0, A1, B0, B1, and CIN inputs with a five-bit counter.\n",
    "cntgen(*a, *b, cin)\n",
    "\n",
    "# Connect the I/O to the subtractor.\n",
    "subtractor(a=a, b=b, cin=cin, s=s, cout=cout)\n",
    "\n",
    "# Do a transient analysis\n",
    "disp_vmax = 4@u_V\n",
    "waveforms = do_trans(step_time=0.01@u_ns, end_time=32@u_ns)\n",
    "\n",
    "# Display the output waveforms.\n",
    "oscope(waveforms, *a, *b, cin, *s, cout)\n",
    "\n",
    "# Convert the waveforms for A, B, Cin, S, and Cout into lists of integers.\n",
    "a_ints = integerize(waveforms, *a)\n",
    "b_ints = integerize(waveforms, *b)\n",
    "cin_ints = integerize(waveforms, cin)\n",
    "# Combine the N-bit sum and carry-out into a single N+1-bit integer.\n",
    "s_ints = integerize(waveforms, *s, cout)\n",
    "\n",
    "# Set the subsample times right before the ALU's inputs change.\n",
    "ts = [(i+0.9)@u_ns for i in range(32)]\n",
    "\n",
    "# Subsample the integerized ALU waveforms.\n",
    "av, bv, cinv, sv = subsample(ts, waveforms.time, a_ints, b_ints, cin_ints, s_ints)\n",
    "\n",
    "# Display a table of the ALU's inputs and corresponding output.\n",
    "pd.DataFrame({'A': av, 'B': bv, 'CIN': cinv, 'S': sv})"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Extra Bonus: a Down Counter"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Since I went to the trouble to build a subtractor, it would be a waste if I didn't use it to make a down-counter:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:57:52.244025Z",
     "start_time": "2021-04-30T19:57:52.223975Z"
    }
   },
   "outputs": [],
   "source": [
    "@subcircuit\n",
    "def down_cntr(clk, out):\n",
    "    # Provide access to the global ground net.\n",
    "    global gnd\n",
    "    \n",
    "    width = len(out)\n",
    "    nxt, zero = Bus(width), Bus(width)\n",
    "    \n",
    "    gnd += zero\n",
    "\n",
    "    # The next counter value is the current counter value minus 1. Set the\n",
    "    # subtractor's borrow input to 1 and the b input to zero to do this.\n",
    "    subtractor(a=out, b=zero, cin=vdd, s=nxt, cout=Net())\n",
    "    \n",
    "    register(wr=clk, d=nxt, out=out)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:58:47.505980Z",
     "start_time": "2021-04-30T19:57:52.245250Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO: No errors or warnings found while generating netlist.\n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAo4AAAIkCAYAAACQiapoAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAAC7AElEQVR4nOzdd5wU5f0H8M9sv94rHBxNQUCqIGoUFAVFI8YoIlFBAokBo2JFEYxK8BejIoKiKKCJ2EuMIAZQBKkKIkVAUMpxcHdc79tmfn/szt7uFdid2du5vf28X697we3tzDPPPFO+87QRJEmSQERERER0FjqtN4CIiIiIwgMDRyIiIiLyCwNHIiIiIvILA0ciIiIi8gsDRyIiIiLyCwNHIiIiIvILA0ciIiIi8gsDRyIiIiLyCwNHIiIiIvILA0ciIiIi8gsDx3bsmWeegSAIuPfee7XeFCIiImoHGDi2U9999x1effVVnH/++VpvChEREbUTDBzboerqakyYMAFLlixBUlKS1ptDRERE7YRB6w2g4Js2bRrGjBmDkSNH4umnnz7jd61WK6xWq+d3URRRWlqKlJQUCILQ2ptKREREbYAkSaiqqkJ2djZ0upbrFRk4tjPvvvsudu7cie+++86v78+bNw9/+9vfWnmriIiIKBzk5eWhY8eOLf6dgWM7kpeXh3vuuQdr1qyBxWLxa5mZM2dixowZnt8rKirQqVMn5OXlIT4+PrgbaK8EPskBbsgDjEFed3vFfaYM95sy3G+B4z5ThvstcK28zyorK5GTk4O4uLgzfo+BYzuyY8cOFBUVYeDAgZ7PnE4nNmzYgIULF8JqtUKv1/ssYzabYTabm6wrPj6+FQJHANEA4uN5ofAX95ky3G/KcL8FjvtMGe63wIVon52tmxoDx3bkiiuuwJ49e3w+mzRpEnr27ImHH364SdBIREREFAgGju1IXFwc+vTp4/NZTEwMUlJSmnxOREREFChOx0NEREREfmGNYzu3fv16rTeBiIiI2gnWOBIRERGRXxg4EhEREZFfGDgSERERkV8YOBIRERGRXxg4EhEREZFfGDgSERERkV8YOBIRERGRXxg4EhEREZFfGDgSERERkV8YOBIRERGRXxg4EhEREZFfGDgSERERkV8YOBIRERGRXxg4EhEREZFfGDgSERERkV8YOBIRERGRXxg4EhEREZFfGDgSERERkV8YOBIRERGRXxg4EhEREZFfGDgSERERkV8YOBIRERGRXxg4EhEREZFfGDgSERERkV8YOBIRERGRXxg4EhEREZFfGDgSERERkV8YOBIRERGRXxg4EhEREZFfGDgSERERkV8YOBIRERGRXxg4EhEREZFfGDgSERERkV8YOLYj8+bNwwUXXIC4uDikp6dj7NixOHjwoNabRURERO0EA8d25JtvvsG0adOwdetWrFmzBna7HVdddRVqamq03jQiIiJqBxg4auTo0aMQBAG7du0CAKxfvx6CIKC8vDyg9ZSUlCA9PR1Hjx7F6tWrMXHiRPTu3Rv9+vXD8uXLcfz4cezYsaPJcrfccguee+45WK1WVFZW+vwQERERNYeBY5ibO3curr/+euTm5mLHjh0QBAFbt24FAFRUVAAAkpOTAQBXXHEFfve73wEAZs2ahblz52LOnDlISEjw/OTk5GiTESIiImrzDFpvAClXW1uLN954A19++SUAYNCgQejXrx+WLl2KIUOG4N5778XFF1+MPn364OjRo/j666/x3//+FwDQp08fdOvWDVlZWZ4AEwAqKysZPBIREVGzWOPYikRRxD/+8Q90794dZrMZnTp1wty5c/1atra2FldffTUuvvjiFpuvV61aBbPZjAsvvNDz2eTJk/Hee+9h6tSp2Lt3L959910AwPLly5GVlYXRo0d7vnvdddfhww8/RHx8vM8PERERUXNY49iKZs6ciSVLluCFF17AJZdcglOnTuHAgQNnXa68vBxjxoxBbGws1qxZg+jo6Ga/t3HjRgwaNMjnswkTJuC+++7Dxx9/jB07dqBjx46QJAlvvvkmJk6cCL1e7/nukCFDMHfuXFitVpjNZnWZPYvKejs2HyiGqXIwLle4jh/zynGqok7xNgzsnIT0OIuiZfedrEBeaa3itAd0SkJGvLK099fl4ti+YsCgbJDT+R0TkZ0YpWjZnwur8OvpakXLAkCfDgnomNT88Xs2h4uqcbioSlnCjjr0tmVAad35r6er8XOhwrQB9MyMR25qjKJljxbX4ECB8r7G52TEoWtarKJl88rqsa9iGKDweOueHovu6XGK0j5RVou9+RVn/2ILuqbF4pwMZWmfLK/D7hPlyhJ21KFzXS56KVsahZX1+OF4mcKlgZzkaPTOTlC0bFFVPXYeU552h8Ro9O2oLO3i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7YjJZMKgQYOwbt06z2eiKGLdunU+NZBERERESrDGsZ2ZMWMG7rjjDgwePBhDhgzB/PnzUVNT4xllTURERKQUA8d2Zty4cTh9+jRmz56N/Px8OJ1OjBs3rsmAGSIiIqJAMXBsh6ZPn46hQ4fi5ptvRnx8fIv9G4mIiIgCwT6O7VB1dTUmTJiAJUuWIClJ3bQkRERERDLWOLZD06ZNw5gxYzBy5Eg8/fTTZ/xu4+l4ysrKAAAnTpwI/nQ8jiqgBEB+PmBovYnG2xXuM2W435Thfgsc95ky3G+Ba+V9Jr8AxOk8yzRqErUr77zzjtSnTx+prq5OkiRJuuyyy6R77rmnxe/PmTNHguu1m/zhD3/4wx/+8CfCf7Zv337GOIMTgLcjeXl5GDx4MNasWYPzzz8fADB8+HD0798f8+fPb3aZ5mocc3NzkZeX1yoTgOOTHOCGvFaZvLRd4j5ThvtNGe63wHGfKcP9FrhW3mfyC0BKS0vP2M2NTdXtyI4dO1BUVISBAwd6PnM6ndiwYQMWLlwIq9UKvd531tKWJgCPj49vhcARQDSA+HheKPzFfaYM95sy3G+B4z5ThvstcCHaZ43jhMYYOLYjV1xxBfbs2ePz2aRJk9CzZ088/PDDZz0YiIiIiM6EgWM7EhcXhz59+vh8FhMTg5SUlCafExEREQWK0/EQERERkV9Y49jOrV+/XutNICIionaCNY5ERERE5BcGjkRERETkFwaOREREROQXBo5ERERE5BcGjkRERETkFwaOREREROQXBo5ERERE5BcGjkRERETkFwaOREREROQXBo5ERERE5BcGjkRERETkFwaOREREROQXBo5ERERE5BcGjkRERETkFwaOREREROQXBo5ERERE5BcGjkRERETkFwaOREREROQXBo5ERERE5BcGjkRERETkFwaOREREROQXBo5ERERE5BcGjkRERETkFwaOREREROQXBo5ERERE5BcGjkRERETkFwaOREREROQXBo5ERERE5BcGjkRERETkFwaOREREROQXBo5ERERE5BcGjkRERETkFwaOREREROQXBo7tyLx583DBBRcgLi4O6enpGDt2LA4ePKj1ZhEREVE7wcCxHfnmm28wbdo0bN26FWvWrIHdbsdVV12FmpoarTeNiIiI2gGD1htAwbN69Wqf35cvX4709HS89tpreO2117B3717o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lfeZ/AIQp9N55i9K1K688847Up8+faS6ujpJkiTpsssuk+65554Wvz9nzhz3C//4wx/+8Ic//OFPpP9s3779jHEGJwBvR/Ly8jB48GCsWbMG559/PgBg+PDh6N+/P+bPn9/sMs3VOObm5iIvLy/4NY72SuCTHOCGvFadlLld4T5ThvtNGe63wHGfKcP9FrhW3mfyC0BKS0vP2M2NTdXtyI4dO1BUVISBAwd6PnM6ndiwYQMWLlwIq9UKvd53gtqWJgCPj49vhcARQDSA+HheKPzFfaYM95sy3G+B4z5ThvstcCHaZ43jhMYYOLYjV1xxBfbs2ePz2aRJk9CzZ088/PDDZz0YiIiIiM6EgWM7EhcXhz59+vh8FhMTg5SUlCafExEREQWK0/EQERERkV9Y49jOrV+/XutNICIionaCNY5ERERE5BcGjkRERETkFwaOREREROQXBo5ERERE5BcGjkRERETkFwaOREREROQXBo5ERERE5BcGjkRERETkFwaOREREROQXBo5ERERE5BcGjkRERETkFwaOREREROQXBo5ERERE5BcGjkRERETkFwaOREREROQXBo5ERERE5BcGjkRERETkFwaOREREROQXBo5ERERE5BcGjkRERETkFwaOREREROQXBo5ERERE5BcGjkRERETkFwaOREREROQXBo5ERERE5BcGjkRERETkFwaOREREROQXBo5ERERE5BcGjkRERETkFwaOREREROQXBo5ERERE5BcGjkRERETkFwaOREREROQXBo7tyLx583DBBRcgLi4O6enpGDt2LA4ePKj1ZhEREVE7wcCxHfnmm28wbdo0bN26FWvWrIHdbsdVV12FmpoarTeNiIiI2gEGju3I6tWrMXHiRPTu3Rv9+vXD8uXLcfz4cXzyySfIzMxEVVVVk2WsVisqKyt9fmQXXnghPvroo1BmgYiIiNowBo4qFBQU4O6770bXrl1hNpuRk5OD6667DuvWrfN8Jzc3F4IgYOvWrT7L3nvvvRg+fLjPd1r6mThxIgBg7ty5uOiiixAdHY3ExMSzbl9FRQUAYPny5bj77rsRFxeHjz76CHq9Hvn5+QBczdsJCQmen5ycHM/ys2bNwiOPPAJRFFXsJSIiImovGDgqdPToUQwaNAhfffUVnn32WezZswerV6/GiBEjMG3aNJ/vWiwWPPzwwy2u67vv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",
      "text/plain": [
       "<Figure size 640x480 with 5 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pwr()\n",
    "\n",
    "clk = Net('clk')\n",
    "cntgen(clk)\n",
    "\n",
    "# Create a three-bit down counter.\n",
    "cnt = Bus('CNT', 3)\n",
    "down_cntr(clk, cnt)\n",
    "\n",
    "# Simulate it.\n",
    "waveforms = do_trans(step_time=0.01@u_ns, end_time=30@u_ns)\n",
    "oscope(waveforms, clk, *cnt, vdd_ps)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "From the waveforms, it's obvious the counter is decrementing: 7, 6, 5, ..., 0, 7, ... so chalk this one up as a win. But how does this compare to the counter I previously built using just an adder?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "With regards to energy consumption, this ALU-based counter is about 2x worse (7 pJ compared to 3.3 pJ):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:58:47.552232Z",
     "start_time": "2021-04-30T19:58:47.507716Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Total energy = 7.008028451994134e-12 J\n"
     ]
    }
   ],
   "source": [
    "time_steps = waveforms.time[1:] - waveforms.time[0:-1]\n",
    "ps_current = -waveforms[node(vdd_ps)][0:-1] # Mult by -1 to get current FROM the + terminal of the supply.\n",
    "ps_voltage = waveforms[node(vdd)][0:-1]\n",
    "\n",
    "energy = sum(ps_current * ps_voltage * time_steps)@u_J\n",
    "print(f\"Total energy = {energy}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And it uses about 2.5x the number of transistors (402 versus 162):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-04-30T19:58:47.573624Z",
     "start_time": "2021-04-30T19:58:47.555325Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "V: 1\n",
      "PULSEV: 1\n",
      "sky130_fd_pr__pfet_01v8: 201\n",
      "sky130_fd_pr__nfet_01v8: 201\n"
     ]
    }
   ],
   "source": [
    "how_big()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## End of the Line"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "OK, well that was fun.\n",
    "\n",
    "I've gone from extracting a few transistors from the Skywater PDK all the way to constructing an ALU. And I've encapsulated that journey in this notebook so you can do it, too.\n",
    "\n",
    "Is this the way to go about using the PDK? Possibly, if you need some detailed performance measurements on some portion of your design. But for big digital designs, definitely not. Running this entire notebook takes 8 minutes and all of the designs are under 500 transistors. Using an HDL and a digital simulator would be much faster.\n",
    "\n",
    "Now for analog designs ... maybe. SPICE lends itself to the analog domain. And I can envision using some of the functions in [`scipy.optimize`](https://docs.scipy.org/doc/scipy/reference/optimize.html) to fine-tune analog circuits for certain performance criteria. But I haven't produced a concrete example of doing this so it remains in the realm of the imaginary. For now.\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.8"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {
    "height": "286px",
    "width": "296px"
   },
   "number_sections": false,
   "sideBar": false,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": true,
   "toc_position": {
    "height": "344px",
    "left": "31px",
    "top": "110.094px",
    "width": "343px"
   },
   "toc_section_display": false,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
